👿 Антийода-условия и RTFM
Некоторое время назад я задумался, насколько реально нужны условия Йоды, которые мы тогда по инерции практиковали на проекте.
Рассуждение следующее. Условия Йоды — это способ защитить ногу от пули при использовании присваивания в условиях. Решая надуманную проблему, мы в итоге получаем двукратное ухудшением читабельности кода: и спрятанное вдуша бизнес-логика подсказывает.
В итоге мы на проекте отказались от Звёздных войн, и я добавил строчку
И только сегодня, спустя 7 месяцев, @EtherLord выяснил, что это правило можно включить в режиме "антийоды":
RTFM, Валентин 😅
https://cs.symfony.com/doc/rules/control_structure/yoda_style.html
Некоторое время назад я задумался, насколько реально нужны условия Йоды, которые мы тогда по инерции практиковали на проекте.
Рассуждение следующее. Условия Йоды — это способ защитить ногу от пули при использовании присваивания в условиях. Решая надуманную проблему, мы в итоге получаем двукратное ухудшением читабельности кода: и спрятанное в
if
присваивание, и неестественное условие. Куда правильнее просто запретить присваивания в условиях, а сами условия оформлять как В итоге мы на проекте отказались от Звёздных войн, и я добавил строчку
'yoda_style' => false
в .php_cs.dist
, то есть полностью выключил правило.И только сегодня, спустя 7 месяцев, @EtherLord выяснил, что это правило можно включить в режиме "антийоды":
'yoda_style' => ['equal' => false, 'identical' => false, 'less_and_greater' => false]
. Тогда фиксер null !== $value
будет преобразовывать в $value !== null
и т.д.RTFM, Валентин 😅
https://cs.symfony.com/doc/rules/control_structure/yoda_style.html