Size: a a a

2020 September 23

Р

Руслан in symfony
Павел Г.
я просто не пойму, как вы принимаете 5 DTO потом формируете в какое то 1 VO которое залетает в update
А кто-то мешает создавать vo только когда данные прилетели?
источник

ПГ

Павел Г. in symfony
Руслан
А кто-то мешает создавать vo только когда данные прилетели?
Где?
источник

ПГ

Павел Г. in symfony
В handler?
источник

ПГ

Павел Г. in symfony
вы просто сказали, что вся опциональная грязь в update
источник

Р

Руслан in symfony
Павел Г.
В handler?
В сущности
источник

Р

Руслан in symfony
Именно там
источник

ПГ

Павел Г. in symfony
Т.е. сущночть принимает DTO и создает VO
источник

ПГ

Павел Г. in symfony
вы грубо говоря запихиваете массив из 1000 данных и опционально пытаетесь из него создать VOшки
источник

Р

Руслан in symfony
Павел Г.
Т.е. сущночть принимает DTO и создает VO
Да, создавать в хендлере во такая себе идея, куча зависимостей ненужных
источник

Р

Руслан in symfony
Павел Г.
вы грубо говоря запихиваете массив из 1000 данных и опционально пытаетесь из него создать VOшки
Не 1000, а около 20, разделенные по группам
источник

ПГ

Павел Г. in symfony
Руслан
Не 1000, а около 20, разделенные по группам
Это в вашем случае, но в целом может прилететь 1000 данных и попробуй их протестировать...
источник

ПГ

Павел Г. in symfony
я просто к чему клоню:
источник

Р

Руслан in symfony
Павел Г.
Это в вашем случае, но в целом может прилететь 1000 данных и попробуй их протестировать...
Не может, данные из 1с
источник

Р

Руслан in symfony
ЗА 18 лет существования этих данных последние 5 они уже не менялись, только промокоды добавили
источник

ПГ

Павел Г. in symfony
вот есть сущность на 10 свойств.
Прилетел первый кейс: обновление первого и третьего свойства - вы пишите свой update.
Прилетел второй кейс: обновление второго и третьего - вы обновляете свой апдейт, вместо добавленния нового функционала
И т.д. т.е. каждый раз меняете его.
Плюс странная задача сущности  "Обновить". Один метод собирает просто VOшки и сетит. Те же сетеры только под капотом одного.
источник

ПГ

Павел Г. in symfony
Руслан
Не может, данные из 1с
Ну может это ваш кейс и вам он подходит.
источник

IG

Ivan Grigoriev in symfony
Павел Г.
вы просто сказали, что вся опциональная грязь в update
Такие классы ещё и не протестировать нормально. У них цикломатическая сложность такая, что тестов надо писать на порядки больше, чем самого кода.

Вообще, переход к тестируемому коду даётся очень тяжело. Потому что приходится отказываться от огромного количества "хаков", так полюбившихся за годы кодинга
источник

ПГ

Павел Г. in symfony
Ivan Grigoriev
Такие классы ещё и не протестировать нормально. У них цикломатическая сложность такая, что тестов надо писать на порядки больше, чем самого кода.

Вообще, переход к тестируемому коду даётся очень тяжело. Потому что приходится отказываться от огромного количества "хаков", так полюбившихся за годы кодинга
Ну я про тесты тоже писал выше :) согласен полностью.
источник

Р

Руслан in symfony
Павел Г.
Ну может это ваш кейс и вам он подходит.
Именно так. А так можно пилить систему с предположением, что прилетит миллиард данных. Вот только оверинжиниринг и преждевременная оптимизация зло похуже любого говнокода
источник

Р

Руслан in symfony
Ivan Grigoriev
Такие классы ещё и не протестировать нормально. У них цикломатическая сложность такая, что тестов надо писать на порядки больше, чем самого кода.

Вообще, переход к тестируемому коду даётся очень тяжело. Потому что приходится отказываться от огромного количества "хаков", так полюбившихся за годы кодинга
Тестировать что? Правильно ли работает конструктор и метод упдейт? 😂
источник