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 большая.
Материалы
- https://www.hygen.io/ - Библиотека
- https://www.hygen.io/docs/quick-start - Документация
Вдохновляют
- Пол Рэнд
- советник Хаммонд из Матрицы