Summary

Бойлерплейт код - нетворческий программный код, который программисту приходится писать вследствие требований языка программирования, операционной системы, библиотеки подпрограмм, манеры программирования и прочего.

Для создания новых функций в приложении мне часто приходится писать много бойлерплейт кода.

Пример задачи

Добавить в настройки приложения раздел «Управление внешним видом».

Декомпозируя задачу

  • Получить данные о текущих настройках;
  • Сделать хранилище состояний;
  • Наверстать экраны с компонентами.

Сделать это нужно быстро и системно. Поэтому необходимо прикинуть общую структуру. Основу для всего вышеперечисленного может создать Hygen - консольный генератор кода. Для этого нужно настроить шаблоны: файлы с бойлерплейт кодом, и подключить к ним команды вызова.

Я настроил в проекте следующие команды:

  • hygen new ui - компоненты
  • hygen new store - хранилище
  • hygen new api - ручки в backend

В результате вызова нескольких команд получается следующая структура:

appearance
├── data
│   ├── dto
│   │   ├── appearanceResponseDto.ts
│   │   └── saveAppearanceResponseDto.ts
│   └── gql
│       ├── getAppearanceSettings.ts
│       └── setAppearanceSettings.ts
├── store
│   ├── appearanceAction.ts
│   ├── appearanceEffect.ts
│   ├── appearanceEffector.ts
│   ├── appearanceModule.ts
│   ├── appearanceReducer.test.ts
│   ├── appearanceReducer.ts
│   └── appearanceState.ts
└── ui
    ├── components
    │   └── ColorPicker
    │       ├── ColorPicker.pcss
    │       ├── ColorPicker.stories.tsx
    │       └── ColorPicker.tsx
    └── containers
        └── SelectAccentColor
            ├── SelectColor.pcss
            ├── SelectColor.stories.tsx
            └── SelectColor.tsx

Что круто

  • Одна минута. Я не должен всё это делать руками;
  • Все файлы структурированы вне зависимости от того, кто делает новую функциональность;
  • Это экономит море времени;
  • Начало дня, творческий потенциал ещё на отметке 99%. А самое скучное уже сделано за тебя;

Для осеннего ревью в Озоне я посчитал, что за послдение пол года это сэкономило лично у меня примерно 28 часов. Это, по сути, 2 средние фичи для проекта и 1 большая.

Материалы

Вдохновляют

  • Пол Рэнд
  • советник Хаммонд из Матрицы

Тэги

фронтенды,инструменты