🌍 Вітаю вас, шаноўныя сябры! 🇧🇾
🌍 Вітаю вас, шаноўныя сябры! 🇧🇾
На работе сегодня родился холивар 🤏:
Что использовать: Двойной тернарный оператор или if/else.
В теории тернарники делают код компактнее… а на практике, ты можешь потратить больше времени на понимание того, что происходит в этом куске кода. Да, это могут быть секунды сверху, не так много, но как правило разработчики больше читают, чем пишут и общая сумма затрат на чтение увеличивается из-за этих секунд сверху. Это мое такое субъективное мнение, а вы что думаете по этому поводу 🤔?
➡️ Двойной тернарник
❓ Вроде всё в одной строке, но больше же когнитивной нагрузки, разве нет ?
➡️ If/else тот же кейс
Да, строчек больше, но дебажить проще и если будет необходимость добавить еще кейс, это можно сделать без проблем, да ➕ еще можно и в функцию вынести и юнит тестом сверху покрыть.
❓ Вопрос: А что используете вы? Если не согласны со мной, велком обсуждать под постом.
#VOTE
На работе сегодня родился холивар 🤏:
Что использовать: Двойной тернарный оператор или 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.