Пейджер

🌍 Вітаю вас, шаноўныя сябры! 🇧🇾

🌍 Вітаю вас, шаноўныя сябры! 🇧🇾

На работе сегодня родился холивар 🤏:
Что использовать: Двойной тернарный оператор или if/else.

В теории тернарники делают код компактнее… а на практике, ты можешь потратить больше времени на понимание того, что происходит в этом куске кода. Да, это могут быть секунды сверху, не так много, но как правило разработчики больше читают, чем пишут и общая сумма затрат на чтение увеличивается из-за этих секунд сверху. Это мое такое субъективное мнение, а вы что думаете по этому поводу 🤔?

➡️ Двойной тернарник
const accessLevel = user.isBanned
  ? 'Заблокирован 🚫'
  : user.isAdmin 
    ? (user.isSuperAdmin ? 'Супер админ 👑' : 'Админ ⚡️')
    : user.isModerator 
      ? 'Модератор 🛡'
      : 'Пользователь 👤';


Вроде всё в одной строке, но больше же когнитивной нагрузки, разве нет ?

➡️ If/else тот же кейс
let accessLevel;

if (user.isBanned) {
  accessLevel = 'Заблокирован 🚫';
} 

else if (user.isAdmin) {
  accessLevel = user.isSuperAdmin ? 'Супер админ 👑' : 'Админ ⚡️';
} 

else if (user.isModerator) {
  accessLevel = 'Модератор 🛡';
} 

else {
  accessLevel = 'Пользователь 👤';
}


Да, строчек больше, но дебажить проще и если будет необходимость добавить еще кейс, это можно сделать без проблем, да ➕ еще можно и в функцию вынести и юнит тестом сверху покрыть.

Вопрос: А что используете вы? Если не согласны со мной, велком обсуждать под постом.

#VOTE
Хотите больше таких постов?
Подпишитесь на канал и читайте продолжение в Telegram.
Подписаться на @ivanchikovitclub Открыть пост в Telegram