=== 0) {
return 2
} else if (selectedOptions.includes('Контент')) {
return 0
} else {
return 1
}
Мне предложили в команде при пулл-реквесте переписать это так
return selectedOptions.length === 2 || selectedOptions.length === 0 ? 2 : selectedOptions.includes('Контент') ? 0 : 1
Cкажите, пожалуйста, как лучше в итоге?
На мой взгляд, во втором варианте читаемость ухудшается.
В пулреквесте предложили говно
Как тактично об этом сказать?)
твой лучше, но ещё лучше, используя return в условии, избегать использования else
Не понимаю немного, что ты имеешь в виду
if (a) return b; if (c) return d; if (e) return f; return g;
А, понял, спасибо!
спроси у него, Как писать, если там будет 50 условий 🗿
а зачем вообще оправдываться, они же предлагают, а не приказывают
скажи тому кто код ревью делает, что-бы пошел почитал "чистый код" или подобные книжки)
Ну, пулл реквест он отметил
Спасибо) Вложенные тернарники - всегда так себе затея, да?
Дело не сколько в них, сколько в том что это читается ужасно плохо и неочевидно Сколько требуется усилий при беглом взгляде на код в твоем коде и в том коде что предложили Как по мне в твоем коде сам уже понял излишне else, но ты хотя-бы бегло смотришь и понимаешь сразу же что там А с тернарниками поди еще эти ребусы разгляди и глаза поломай)) В любом коде только одно важно - что-бы он был предсказуем и хорошо читался, ну и что-бы он был логичен, но то уже вопросы логики а не правильности(чистоты) кода Исходя из этого можно уже решать что плохо а что нет, что так себе затея а то хорошая
Благодарю за такой полный ответ :) else в подобных ситуациях всегда лучше упускать?
Ну в нем просто смысла нет У тебя же ретерн сработает и код ниже даже не пойдет, интерпретатор даже не узнает что там какой-то else есть Просто лишний груз в коде
Обсуждают сегодня