Vlad
Павел
Konstantin
тоже не могу придумать почему, кроме того что выглядит неоч
Vlad
ну не смотри). а так в целом норм)
Павел
Но могут с работы уволить))))
Konstantin
с работы за кодстайл увольняют, если ты не в состоянии с 2-3 раза запомнить что "мы так не делаем блэт" и продолжаешь)
Vlad
для этого есть cs-fixer
Konstantin
я против обмазывания лишними утилитами, считаю, что это проблемы разраба. если он не в состоянии запомнить сколько переносов ставить перед импортом - о каком программировании может идти речь?
Konstantin
был у меня пхпшник один, любил простор, видимо. ставил по восемь переносов перед неймспейсом и по 8-10 после импортов перед декларацией класса
Konstantin
ну и в конце файла десяток ебануть перед последней скобкой - милое дело
Konstantin
ревьюверам так приятнее ревьюится, наверное, он думал
Konstantin
cs-fixer мало что может пофиксить из того, что принято в команде - нейминг переменных/классов/методов там, способы обхода коллекций, да массу всего, что надо запомнить и принять потому что "тут так принято"
Dmitriy
он хорошо автоматизирует рутину
Dmitriy
мы наоборот по максимуму автоматизируем все
Dmitriy
phpstan, fixer, codesniffer для других правил
Павел
Vlad
Vlad
ревью должно быть максимально автоматизированым
Dmitriy
если за это увольняют, то большие вопросы стоит ли тут работать, коли не можете настроить правила в ci
Konstantin
увольняют за неспособность запоминать вещи, это вредно для программиста
Павел
Да я акцент делал на сообщение Влада)))мол не смотрите))
Konstantin
опишите в правила в линте, а так попросту тратите время на ревью
я же пишу чуть выше: не всё из договоренностей можно описать в линтере. часть вещей таки описана в доке, навроде нейминга и принятых способов решения типичных задач - "микро" (я бы сказал даже "нано") паттерны. типа как циклы писать, когда while, когда foreach допустим
Vlad
В чем проблема описать свое правило?
Vlad
cs-fixer рассширяемый
Dmitriy
нейминг и пробелы скобочки - это разные вещи
Dmitriy
вот пробелы и скобочки надо автоматизировать
Dmitriy
если вы это не делаете, и еще доказываете что это не надо делать, ну странно выглядит
Konstantin
считаю что не нужно, да, достаточно распространить правила для иде, в которой достаточно нажать cmd + shift + l
Konstantin
каждый новый линтер - это время (билда, починки когда сломается), размер проекта и головняк, так как чем меньше зависимостей у проекта - тем лучше. банально обновить версию пхп из-за миллионов зависимостей может быть непросто
Konstantin
поэтому я предпочитаю инвестировать время в разработчиков, чтобы они принимали решение головой, а не опирались на множество подпорок, без которых они не могут написать валидный нормальный код
Vlad
так линты держите в отдельном vendor-bin
Vlad
делов то и изолированы будут от кода
Konstantin
они все равно будут в общем composer.json
Vlad
не будут)
Konstantin
типа два composer.json - один для линтеров, второй - с реальными зависимостями проекта?
Vlad
https://github.com/bamarni/composer-bin-plugin
Vlad
да
Konstantin
Konstantin
у меня примерно такое же отношение к прекоммит-хукам: если разработчик забывает перед коммитом прогнать тесты/проверить синтаксис/что-то там еще - проблема в программисте
Vlad
то есть ci не нужен?
Konstantin
нужен обязательно
Konstantin
и решать проблему в программисте правильнее, чем пытаться утилитами заткнуть его недостатки
Vlad
так ускоряйте тесты линты, есть куча приемов. ci должен быть быстрый
Vlad
как и доставка
Konstantin
это не отменяет того, что программист должен проверять то, что он коммитит
Vlad
хз, у нас фронт собирается за 3 минуты, на тс
Vlad
а бек за 2.4
Vlad
и то это не предел
Dmitriy
а кто мешает программисту, перед тем как посмотреть свой комит, запустить команду, которая ему все ошибки fixer покажет?
Dmitriy
или вообще все вместе со стат анализом и тестами
Dmitriy
инвестировать в программистов надо, тут никто не спорит, но это какая-то странная инвестиция, человеческий фактор никто не отменял
Konstantin
хз, у нас фронт собирается за 3 минуты, на тс
у всех своя специфика. но вы в одном тезисе пишете "сиай должен быть быстрым", а в другом - предлагаете туда насовать низкокачественного говна, что работает часами и little bit flaky
Konstantin
быстрый сиай и достигается тем, что там нет ничего лишнего - тесты, билд, упаковка артефакта
Vlad
Павел
Включая плагин предлагаемый
Павел
Nikolay
Konstantin
А в чем заморочка с while / foreach ?
да это синтетический пример, если честно. ну типа если надо пофильтровать сущности, у которых isActive возвращает bool, надо использовать array_filter а не foreach с ифом внутри, например. и это в виде правил кодстайла никак не выразишь
Павел
Konstantin
это всё еще синтетический пример, что нельзя разраба обложить линтерами, которые за него будут писать принятый в компании код
Юра
Народ вопрос философский
Юра
Часто читаю типо у пхп там всего один или два основных мейнтейнера. Типо возникает опасения а что если они уйдут
Юра
Люди не вечные
Юра
Типо как-то стрёмно за будущее пхп
Konstantin
есть такое, да
Igor
Konstantin
никитос вон ушел и немного подзависло всё, я так понимаю кроме него женерики никто не хочет особо нести
Konstantin
стогову тоже в среднем насрать на языковые фичи, он уже слишком стар для этого дерьма
Konstantin
о нем многое говорит, то что он топил против typed properties, тк они там на какие-то доли процента тормозят рантайм
Юра
Konstantin
часть коммитеров - это всякие гомопидоры (к сожалению в прямом смысле), кто-то из команды ларавела (что тоже много говорит о качествах)
Юра
Пхп в последние годы наоборот вроде прибавил в фичах