Прекратите использовать вложенные тернарные операторы. Вот почему.

Я до сих пор регулярно вижу более-менее опытных разработчиков, использующих вложенные тернарные операторы. На мой взгляд, это очень плохая практика. Посмотрим подробнее, почему.

Принцип читабельности

Представим себе следующие функции: запрос, запрашивающий нашу иерархическую позицию, и модальный запрос, запрашивающий подтверждение. В целях демонстрации я не буду использовать оператор switch (даже если он обычно наиболее эффективен).

Какая из этих двух функций, по вашему мнению, более читабельна? Разумеется, второе.

За исключением очень простых случаев, вам не следует поощрять использование вложенных тернарных операторов. Это затрудняет чтение кода, потому что косвенно ваши глаза сканируют код по вертикали.

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

«Любой дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям ». - Мартин Фаулер

Некоторый код JavaScript может быть трудным для понимания, поэтому сделать его более читабельным необходимо АБСОЛЮТНО.

Не походите на некоторых разработчиков, которые пытаются быть «крутыми», используя вложенные тернарные операторы из ада. Потому что, когда вы хотите отладить или добавить некоторые функции в свой код, это действительно становится кошмаром.

Используйте правило ESLint

Https://eslint.org/docs/rules/no-nested-ternary

Если вы используете ESLint в своем проекте, вы можете использовать это правило, чтобы запретить вложенные тернарные выражения.

Спасибо, что прочитали 🙏.

Если вам нравится эта история, не стесняйтесь поделиться и / или подписаться на меня. Это бы мне очень помогло 😁