
ainu
13.10.2017
12:27:16
https://t.me/dev_ru
Это чат по видео я так понял
можно вкратце аргументы "за"?
Если у нас несколько необязательных аргументов, то вот это
AddProduct(['color'=>"Синий"])
лучше чем
AddProduct(null,null,null,null,null,null,null,null,null,null,null,null,"Синий")
второй аргумент

Google

Danil
13.10.2017
12:30:13
ну это всё компенсируется и улучшается передачаей VO

ainu
13.10.2017
12:30:14
можно делать так (обертка)
function AddAnything ($params){
$params['color']="синий";
return AddProduct($params);
}

Danil
13.10.2017
12:30:46
выигрываешь в тайп хинтинге

Michael
13.10.2017
12:31:13
а что мешает сделать метод AddProduct( typehint required1,typehint required2,notRequired = null и т.д.)?
а не закидывать обязательные параметры в самый конец

Danil
13.10.2017
12:31:44
и будешь уверен, что у тебя в обжекте будут все нужные параметры, когда в массив могут и не всё запихнуть

Борис
13.10.2017
12:32:44

ainu
13.10.2017
12:32:47

Danil
13.10.2017
12:32:59
ValueObject

ainu
13.10.2017
12:33:05
аа
ну, это много как его... Бойлерплейт кода

Danil
13.10.2017
12:33:34

Google

Борис
13.10.2017
12:34:07

ainu
13.10.2017
12:34:26

Evgeniy
13.10.2017
12:34:33
сори за звук

Борис
13.10.2017
12:35:16

Danil
13.10.2017
12:35:38
как бы DTO)
кароч я понял)

Борис
13.10.2017
12:36:57
как бы DTO)
Так, сча начнется холивар :D пожалуй действительно закончим

ainu
13.10.2017
12:38:40
вон как в яваскрипте удобно
$('').fancybox(
{
'width': 40,
'height':40
}
)

Evgeniy
13.10.2017
12:41:31
если коротко проблема с опечаткой
имена ключей надо помнить наизусть
нет autocomplete по именам параметров
можно допустить ошибку
сложно найти все доступные значения, надо открывать документацию (которая не всегда есть) или лесть в исходник и смотерть как какие ключи обрабатываются
это кратко о минусах

Nurik
13.10.2017
12:45:18
Ребят, подскажите где можно почитать про внутренние редиректы nginx. Про логику location директивы. А то тут разобрать не могу один конфиг.

Michael
13.10.2017
12:45:47

Борис
13.10.2017
12:46:40

Dmitriy
13.10.2017
12:47:30
А чо удалил видео то?

F01134H
13.10.2017
12:47:40

Google

F01134H
13.10.2017
12:47:44
даже в доке нгинкса все это есть
не говоря уж о миллионе туториалов "как настроить нгинкс" на всех возможных языках

Anton
13.10.2017
12:48:47
по крайней мере это НЕ пхп вопрос

Nurik
13.10.2017
12:48:50

F01134H
13.10.2017
12:49:57
если бы ты спросил лично у меня, я бы тебе то же самое ответил

Nurik
13.10.2017
12:50:49

F01134H
13.10.2017
12:51:01
ты не хуево гуглишь
ты гуглишь мегахуево

Dmitriy
13.10.2017
12:51:20

F01134H
13.10.2017
12:51:22
я бы даже сказал, что ты не гуглишь

Evgeniy
13.10.2017
12:52:11

Nurik
13.10.2017
12:52:39
Одно дело быть нормальным программистом - другое быть хуевым человеком - это про тебя.
@folleah

Dmitriy
13.10.2017
12:52:40
а если надо передать массив сущностей?

Evgeniy
13.10.2017
12:52:59
например массив пользователей
массив одинаковых объектов

Dmitriy
13.10.2017
12:53:18
ага

Evgeniy
13.10.2017
12:53:26
для этого есть и phpdoc соответствующий

Dmitriy
13.10.2017
12:53:27
например User[]

Evgeniy
13.10.2017
12:53:30
да

Google

F01134H
13.10.2017
12:53:34

Evgeniy
13.10.2017
12:53:56
но если люди в один массив все что угодно суют
и особенно привязываются к порядку следования элементов в массиве

Nurik
13.10.2017
12:54:10

Evgeniy
13.10.2017
12:54:12
то это беда

Санжар
13.10.2017
12:54:25
Щас начнёт свою говенную протестантскую поебень втирать

Dmitriy
13.10.2017
12:54:59

Nurik
13.10.2017
12:56:11

Санжар
13.10.2017
12:56:19

Vladislav
13.10.2017
12:57:47
@KuvshinovEE я по сути услышал только один аргумент против. Это сложность воспроизведения сигнатуры вызова функции. По сути решается одним docblock. А что скажешь по поводу возрастания затрат по времени? Ведь бизнес покупает у тебя n часов в период времени и очень заинтересован в том, чтоб ты за эти n часов сделал больше.

Санжар
13.10.2017
12:57:57
Зачем обижаться на то, что тебя нахуй могут послать даже за нормальный вопрос, это же интернет :С

Evgeniy
13.10.2017
12:58:27
чтобы потом никто не разобрался
если продуктовая компания
то цена поддержки выше цены разработки

F01134H
13.10.2017
12:58:57
ищется за минуту

Evgeniy
13.10.2017
12:59:37
и если не экономить на поддержке, пусть даже увеличивая цену разработки, то в долго срочной переспективе тратиться больше при использование массивов
аргумент на самом деле не плохой

Google

Evgeniy
13.10.2017
13:00:14
но это уже не задачи программистов наверно считать экономическую эффективность
да я знаю что строгая типизация не решение проблем с ошибками в рантайме
но она их может существенно уменьшать

Vladislav
13.10.2017
13:01:17
чтобы потом никто не разобрался
Мы уже определились с этим, что достаточно сопровождающей документации. И даже для продуктовой компании отсутствие документации приведет к большим сложностям поддержки продукта.

Evgeniy
13.10.2017
13:01:35
проблема всей документации это ее актуальность
поэтому лучшая документация это код для разработчика, если ide или редактор может подсказывать с autocomplete
то это прекрасная документация

F01134H
13.10.2017
13:02:49
Я так понимаю, phpunit при @depends пихает в аргументы сохраненные результаты ответа функций, а не выполняет сами функции?

Evgeniy
13.10.2017
13:02:49
и самое главное если она строиться на основе исходного кода нет проблем с ее актуализацией
как писать каждый решает сам, я просто показываю на проблемы тех или иных решений и показываю как можно сделать лучше
а придерживаться этого или нет у каждого своя голова
причем лучше и хуже субьективно и зависит от ситуации

F01134H
13.10.2017
13:06:50
который в depends лежит

Sergey
13.10.2017
13:08:22

F01134H
13.10.2017
13:08:25
типо для того что бы тест норм отработал, надо цепочку методов вызвать

Sergey
13.10.2017
13:08:58

Evgeniy
13.10.2017
13:10:01
уровень детализации разработчик
сопроводительную документацию или документ по интеграции сюда не поместить конечно

Sergey
13.10.2017
13:10:55