Size: a a a

2021 April 03

AM

Artem Molotov in PHP
Vladimir
Сегодня попросил разраба показать где данные тянутся для инфы типа /view/id, он минут 40 искал и нашел что данные для отображения передаются в какой-то класс, который называется Comment и связан с какой-то формой, а данные пихаются в эту как бы форму, но на самом деле обычное отображение без редактирования
Звучит говёно, если я верно понял.
источник

V

Vladimir in PHP
Я просто привык к симфе там геттеры/сеттеры, доктрина, коллекции и все такое, чето дико сейчас смотреть как все поля напрямую юзаются, куча sql во всех местах к куче разных бд и огромные массивы
источник

AM

Artem Molotov in PHP
Vladimir
Ну получается какие-то левые сервисы стучатся в код к твоему сервису, ну такое чет
Вебсокеты тоже так пилили и не смущались. Имхо, не проблема что кто-то другой твой код вызывает, если вокруг этого хорошо всё устроено (достаточно корректных абстракций)
источник

V

Vladimir in PHP
Artem Molotov
Вебсокеты тоже так пилили и не смущались. Имхо, не проблема что кто-то другой твой код вызывает, если вокруг этого хорошо всё устроено (достаточно корректных абстракций)
Так проблема в том что они сами это отдебажить не могут, потому что непонятно кто что вызывает и как это вообще логируется, я уже от двух или трех разрабов слышал жалобы по этому поводу
источник

AM

Artem Molotov in PHP
Vladimir
Я просто привык к симфе там геттеры/сеттеры, доктрина, коллекции и все такое, чето дико сейчас смотреть как все поля напрямую юзаются, куча sql во всех местах к куче разных бд и огромные массивы
Коллекции тебе сейчас никто и не мешает писать, я думаю. Только работать с ними по другому выйдет.

А о ActiveRecord и sql в моделях я промолчу. Это и так тут каждый день обсуждают, нет смысла повторяться.

Голые массивы — плохо, да
источник

AM

Artem Molotov in PHP
Vladimir
Так проблема в том что они сами это отдебажить не могут, потому что непонятно кто что вызывает и как это вообще логируется, я уже от двух или трех разрабов слышал жалобы по этому поводу
Жестко.
источник

AM

Artem Molotov in PHP
Vladimir
Так проблема в том что они сами это отдебажить не могут, потому что непонятно кто что вызывает и как это вообще логируется, я уже от двух или трех разрабов слышал жалобы по этому поводу
Если б корректно построили, то такого бы не было, имхо. Загонять всё в одно место, а дальше уже команды с данными самому явно разгребать.
источник

V

Vladimir in PHP
Artem Molotov
Коллекции тебе сейчас никто и не мешает писать, я думаю. Только работать с ними по другому выйдет.

А о ActiveRecord и sql в моделях я промолчу. Это и так тут каждый день обсуждают, нет смысла повторяться.

Голые массивы — плохо, да
Ну кстати о sql в моделях я бы почитал какую-нибудь инфу дабы иметь четкие аргументы почему это херово
источник

V

Vladimir in PHP
Ну типа, я привык что по стандарту норм пишется, что сейчас даже на ум не придут аргументы
источник

V

Vladimir in PHP
Artem Molotov
Жестко.
Да вот я хз, то ли я идиот и не вдупляю таких гениальных решений(хотя все с кем я общался ругали и архитектуру и то как все сделано), то ли оттуда рли бежать надо
источник

V

Vladimir in PHP
А ну и классы на тысячи строк с бизнес-логикой типа регистрации, апдейта и тд в одном файле
источник

AM

Artem Molotov in PHP
Vladimir
Ну кстати о sql в моделях я бы почитал какую-нибудь инфу дабы иметь четкие аргументы почему это херово
1. Потому что S из SOLID
2. Потому что тестить сложно
3. Потому что partial models с null везде где только можно нельзя
4. Потому что проблемы сходные к N+1 при работе с связями  чаще себя проявляют
5. Потому что костыли для маппинга столбца на структуру, из-за чего на это забивают и маппают на примитив (в ларавеле только недавно каст на собственный класс добавили)
6. Потому что моделе должно быть наплевать кто и куда её персистит
7. Потому что хрен заперсистишь "всё и сразу" без N+1 в цикле и не используя ещё одни костыли
8. Потому что еще одни костыли, что бы запретить ::save() извне репозитория (если у них эти самые репозитории вообще есть).

Это то, что лично мне запомнилось. Всё это относительно решаемо, но не без костылей.

Ну а вообще, по ActiveRecord is anti-pattern много инфы гуглится
источник

dp

danil pavlusenko in PHP
Константин Грачев
offtop

Ребят есть у кого опыт работы на широкоформатных мониторах с соотношением сторон 21:9, 24:10, 32:10 ?
Удобная штука, или лучше смотреть в сторону нескольких мониторов?
Юзал 21:9
Прикольно работать в  ide, т.к. можешь табы перенести вбок и спокойно при этом открыть структуру файлов + бд(к примеру). В остальных приложениях типа слека/постмана/джиры/etc, тоже удобно, но не необходимо, в отличии от шторма - там прям зашло

Но полноценно второй монитор не заменит, т.е. открывать два приложения рядом - стрём. Плюс если ты немного изменил интерфейс (под шф моник), то готовься страдать.

Мне кажется, что под большинство задач, где требуется 2 моника, один из них остаётся "главным", и учитывая это, я бы брал 21:9 к ноуту

Про остальные - хз
источник

a

amrl in PHP
Artem Molotov
1. Потому что S из SOLID
2. Потому что тестить сложно
3. Потому что partial models с null везде где только можно нельзя
4. Потому что проблемы сходные к N+1 при работе с связями  чаще себя проявляют
5. Потому что костыли для маппинга столбца на структуру, из-за чего на это забивают и маппают на примитив (в ларавеле только недавно каст на собственный класс добавили)
6. Потому что моделе должно быть наплевать кто и куда её персистит
7. Потому что хрен заперсистишь "всё и сразу" без N+1 в цикле и не используя ещё одни костыли
8. Потому что еще одни костыли, что бы запретить ::save() извне репозитория (если у них эти самые репозитории вообще есть).

Это то, что лично мне запомнилось. Всё это относительно решаемо, но не без костылей.

Ну а вообще, по ActiveRecord is anti-pattern много инфы гуглится
секс
источник

V

Vladimir in PHP
Artem Molotov
1. Потому что S из SOLID
2. Потому что тестить сложно
3. Потому что partial models с null везде где только можно нельзя
4. Потому что проблемы сходные к N+1 при работе с связями  чаще себя проявляют
5. Потому что костыли для маппинга столбца на структуру, из-за чего на это забивают и маппают на примитив (в ларавеле только недавно каст на собственный класс добавили)
6. Потому что моделе должно быть наплевать кто и куда её персистит
7. Потому что хрен заперсистишь "всё и сразу" без N+1 в цикле и не используя ещё одни костыли
8. Потому что еще одни костыли, что бы запретить ::save() извне репозитория (если у них эти самые репозитории вообще есть).

Это то, что лично мне запомнилось. Всё это относительно решаемо, но не без костылей.

Ну а вообще, по ActiveRecord is anti-pattern много инфы гуглится
Я просто не могу поверить что полсотни, а то и сотня человек что это пишут из разных команд ни разу не задумывались обо всем этом, а меня в первые две недели уже тошнит от такого подхода когда я начал углубляться в код
источник

V

Vladimir in PHP
Как сто человек могут писать говно
источник

AM

Artem Molotov in PHP
Vladimir
Я просто не могу поверить что полсотни, а то и сотня человек что это пишут из разных команд ни разу не задумывались обо всем этом, а меня в первые две недели уже тошнит от такого подхода когда я начал углубляться в код
А они приняли и смирились. Приходит такое после нескольких других этапов.
источник

V

Vladimir in PHP
Artem Molotov
А они приняли и смирились. Приходит такое после нескольких других этапов.
Но ведь новые вещи можно нормально писать
источник

AM

Artem Molotov in PHP
Vladimir
Но ведь новые вещи можно нормально писать
Если это новый и не связанный с предыдущим проект — то да. И тогда может удивлять.
источник

V

Vladimir in PHP
Artem Molotov
Если это новый и не связанный с предыдущим проект — то да. И тогда может удивлять.
В том и прикол что они не просто так пилят новый, но и считают это хорошим тоном, а симфа, автовайринг и доктрина фу
источник