В течение последних восьми месяцев мы как команда разработчиков SEF создавали платформу наставничества, которая называется ScholarX. Техническим стеком для проекта был React с машинописным текстом для внешнего интерфейса и Spring boot для внутреннего интерфейса. Большую часть времени я работаю над интерфейсом. После нескольких месяцев работы мы полностью готовы к запуску. В последнем стендапе команды разработчиков мы обсуждали улучшение производительности и кодовой базы проекта. поэтому мне поручили исследовать это, и я подумал, что будет здорово, если я напишу статью, чтобы другие тоже могли чему-то научиться.

Это будет характерно для нашего проекта, но будет полезно и для вас. Давайте займемся этим.

Создавайте повторно используемые компоненты

Для React важна возможность повторного использования. Повторно используя компоненты в своем проекте, вы можете добиться согласованности и не дать вам создавать огромные компоненты, которые будет сложно поддерживать. Чтобы улучшить возможность повторного использования компонентов, вы можете использовать правило «одна функция = один компонент».

Использовать фрагменты

return
 ( <div> 
      <Component1 />
       <Component2 />
</div> )
return
 ( <> 
      <Component1 />
       <Component2 />
</> )

Всегда используйте фрагмент над Div. Это сохраняет код чистым, а также способствует повышению производительности, поскольку в виртуальной модели DOM создается на один узел меньше.

Заказ на импорт

Сортировка импорта в файле JS имеет много преимуществ. Во-первых, это упрощает просмотр того, что вы импортировали из определенных пакетов, а также, если вы сгруппируете их, вы можете легко отличить, какой импорт из сторонних пакетов или локальный импорт.

Правило большого пальца - соблюдайте следующий порядок импорта:
1. Встроенный
2. Внешний
3. Внутренний

import React from 'react';

import { PropTypes } from 'prop-types';
import MentorCard from 'components/MentorCard';

import pladeholderImage from '../../assets/images/placholder.png';
import colors from '../../styles/colors';

Не используйте фигурные скобки со строками

Обычно, когда мы передаем строковые реквизиты, мы используем это так:

name={“takumi”}

но вместо этого мы можем использовать name=“takumi” вот так.

Разрушение реквизита

Использование реструктуризации делает ваш код чистым.

Вместо этого,

console.log(props.user.name)

Мы можем использовать это так,

const { user } = props
console.log(user.name)

Создать макеты

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

TypeScript не использует никаких типов

Я знаю, что это не связано с реакцией, но в большинстве случаев эти два аспекта идут рука об руку. Не используйте any тип с чем-либо, если вы используете any, нет смысла использовать TypeScript.

Интерфейсы TypeScript и типы

Этот тоже не имеет отношения к React. Что касается интерфейсов и шрифтов, вы можете подумать, что это то же самое. да, это похоже, но ключевое различие в том, что тип нельзя повторно открыть для добавления новых свойств, а не интерфейс, который всегда можно расширить.

например это можно сделать,

interface Window {
  title: string
}

interface Window {
  ts: TypeScriptAPI
}

но это не может,

type Window = {
  title: string
}

type Window = {
  ts: TypeScriptAPI
}

Теперь вы можете выбирать между ними в зависимости от ваших требований.

Вот некоторые из вещей, которые помогут улучшить нашу кодовую базу. Есть много лучших практик. В SEF мы следим за большинством из них. Если вы заинтересованы в присоединении к SEF, вы можете отправить PR в любой из наших проектов, а также присоединиться к нашей группе дискурса.

На этом мы подошли к концу статьи. Не забудьте почитать и другие мои статьи. Увидимся, ребята, на следующем. А пока оставайтесь в безопасности! ✌️