Каждый разработчик (надеюсь) разделяет цель получить больше функциональности с меньшим количеством кода, сохраняя при этом удобочитаемость. Вот четыре возможности сделать именно это независимо от фреймворка JavaScript:
1. Отбросьте остальное{}
const jobDescription = (language, jobRoll) => {
if(language === 'javascript' && jobRoll === 'developer'){
return 'Cool Cat';
}
return 'Hot Dog';
}
В этой функции есть только два возможных возвращаемых значения: «Крутой кот» или «Хот-дог». Нет необходимости заключать return 'Hot Dog';
в блок else{}
. Как правило, отказ от синтаксиса else{}
безопасен, когда функция имеет резервный возврат, как в приведенном выше коде.
2. Отбросьте ===
if(booleanVar){...}
Многие младшие разработчики напишут if(booleanVar === true)
, но это эквивалентные операторы. Если ту же функциональность можно реализовать с помощью меньшего количества кода, сделайте это.
3. Отбросьте проверку длинного пустого значения
<InfiniteTable>
data={store.tableData || []}
</InfiniteTable>
Предположим, что tableData может быть либо массивом данных, либо нулевым значением. Некоторые разработчики не понимают, что оператор ||
на самом деле возвращает первое значение, если оно истинно, или второе значение, если оно истинно, а первое значение было ложным. Вышеприведенное более кратко, чем:
data={store.tableData? store.tableData : []}
4. Отбросьте мультивозвратный суп
return val === 'ASC' ? 'DESC' : val === 'DESC' ? null : 'ASC';
В приведенном выше примере предположим, что выполняется сортировка. Вместо нескольких if(){return;}
строк есть один возврат и меньше кода для понимания разработчиком. Естественно, есть ограничение на количество вложенных троек (вероятно, не больше, чем указано выше), но обычно это проще и чище, чем если суп.
Во всех ситуациях помните о стандартах кодирования вашей команды. Если они согласились с тем, что else{}
добавляет ясности или что троичные элементы трудно читать, возможно, будет лучше сохранить мир и приспособиться. Просто помните об этих полезных советах, когда пишете отличный код.