Прошло много времени с тех пор, как я работал в различных реактивных проектах. Из каждого моего проекта и работы с разными членами команды я узнал много разных практик, которые, если следовать им в проекте, могут сделать код более удобным для сопровождения. Позвольте мне поделиться с вами некоторыми из этих практик:
1. Всегда добавляйте noreferrer в тег привязки, у которого есть target=»_blank» и href принадлежит другому хосту. Хотя современные браузеры добавляют его явно, его лучше оставить для устаревших браузеров. Для чего проверьте эту ссылку.
2. Для пакетов React с разрывом строки между этими категориями следует соблюдать следующий порядок импорта:
а. Сторонние библиотеки, такие как react, react-redux и т. д.
б. Утилиты, константы
в. Компоненты сторонних производителей
д. Наши компоненты/контейнеры
е. Изображений
ф. Определение типа
г. CSS
3. Избегайте вложенных объявлений CSS или !important правил, вместо этого увеличьте специфичность.
4. Все файлы, экспортирующие компонент, должны начинаться с заглавной буквы, кроме index.js.
5. Имена папок должны следовать за регистром змейки (разделяться знаком «-», а не _), а имена файлов компонентов должны следовать за регистром Pascal. Файлы Javascript, кроме компонентов, должны следовать верблюжьему регистру.
6. Следуйте принципам дизайна DRY, KISS и YAGNI во всем коде.
7. Добавьте комментарии поверх жесткого кодирования потенциальных переменных CSS в формате жесткое кодирование (цвет) ‹название-цвета› сверху. Мы постараемся следовать этому, чтобы иметь возможность сканировать жесткое кодирование для различных сценариев, например, если мы когда-нибудь захотим разрешить пользователям переключать темы или диагностировать пробелы в системе дизайна.
8. Добавьте комментарии к задачам в формате todo (‹feature-name›).
9. Используйте сокращение JSX, например:
Вместо использования ‹NavBar showHamburger={true} /› следует использовать:
‹NavBar showГамбургер /›
10. Используйте преимущества Object Literal везде, где вы думаете о применении нескольких условий или операторов switch. Например, если вы хотите написать код как:
переключатель (значение) {
case ‘valA’: return ‹ComponentA /›;
case ‘valB’: вернуть ‹ComponentB /›;
case ‘valC’: вернуть ‹ComponentC /›;
}
Вместо этого напишите его, используя Object Literal как:
пусть об = {
valA:‹ComponentA /›,
valB:‹КомпонентB /›,
valC:‹КомпонентC /›
};
вернуть об[вал];
11. Предпочитайте фрагменты, а не Div. Это делает код более читабельным и повышает производительность, поскольку виртуальный DOM получает на один div меньше.
12. Позаботьтесь о бесполезном рендеринге в приложениях React. Вы можете правильно использовать компоненты React.Memo, Pure, useMemo, useCallback, чтобы избежать бесполезных проблем с рендерингом.
13. Если вы обращаетесь к свойству объекта несколько раз, деструктурируйте его, а затем используйте. Например, вместо этого выполните следующие действия:
возвращаться (
<>
{props.aProperty}
{props.aProperty}
{props.aProperty}
</>
);
Do it as:
const {aProperty} = реквизит;
возвращаться (
<>
{недвижимость}
{недвижимость}
{недвижимость}
</>
);
14. Не добавляйте фигурные скобки со строковыми реквизитами. Например:
Скорее делать как:
‹ComponentA title={"Привет, мир"} /›
Do it as:
‹ComponentA title="Привет, мир" /›
15. Избегайте использования оператора конкатенации строк «+», вместо этого используйте литералы шаблонов для конкатенации строк.
16. Не используйте var для инициализации переменных. Используйте const везде, где это возможно, в противном случае let.
17. Всегда добавляйте к изображениям атрибут alt.
18. Не определяйте такие функции, как обработчики событий, внутри операторов рендеринга или возврата компонентов функции.
На этом пока все :-).