Мне тут подсказали что писать выражение за ифом в одну строку плохо потому что это “смесь которая читается тяжело”. И что лучше писать такие вещи через логические операторы, вроде
Проблема с однострочным написанием действительно есть - неконсистентность выравнивания и обособления скобками с многострочным вариантом исполняемого кода. Неконсистентность это всегда избыточная когнитивная нагрузка и лучше ее избегать. Но писать три строчки вместо двух меня тоже совсем не радует. Тут нет единственно верного решения и стоит смотреть на подготовленность каждого разработчика в команде к такому кодстайту: можете ли вы парсить код в голове быстро в независимости от кодстайла (тогда стоит писать меньше кода) или вы читаете код медленно.
Лично мне быстрее понимать менее выразительный, но более концентрированный код. По той же причине беру низкоконтрастную тему и узкий шрифт, см. пост выше.
А по поводу сайд-эффектов в логических выражениях - тут точно нет, потому что операторы
Из интересного: можно поискать ишьесы на подобные темы в prettier и посмотреть мой доклад про семантику в программировании.
isSome && effect()
.Проблема с однострочным написанием действительно есть - неконсистентность выравнивания и обособления скобками с многострочным вариантом исполняемого кода. Неконсистентность это всегда избыточная когнитивная нагрузка и лучше ее избегать. Но писать три строчки вместо двух меня тоже совсем не радует. Тут нет единственно верного решения и стоит смотреть на подготовленность каждого разработчика в команде к такому кодстайту: можете ли вы парсить код в голове быстро в независимости от кодстайла (тогда стоит писать меньше кода) или вы читаете код медленно.
Лично мне быстрее понимать менее выразительный, но более концентрированный код. По той же причине беру низкоконтрастную тему и узкий шрифт, см. пост выше.
А по поводу сайд-эффектов в логических выражениях - тут точно нет, потому что операторы
&&
и ||
имеют семантику возврата значения, которая сильно диссонирует с логикой условного ветвления кода, да еще и баги может создавать в редких кейсах форматирования.Из интересного: можно поискать ишьесы на подобные темы в prettier и посмотреть мой доклад про семантику в программировании.