Frontend Architecture

Фронтенд-архитектура: от спагетти к фича-модулям

Когда проекту исполняется третий год, структура src/components, src/utils и src/hooks превращается в свалку: 214 компонентов, половина из которых используется один раз, и util-функции, которые боятся трогать все.

Мы решили переехать на фича-модули: каждая бизнес-фича живёт в своей папке со своими компонентами, хуками, API-слоем и тестами. Звучит просто, но дьявол в миграции.

Правила, которые спасли миграцию

1) Публичный API фичи — только индекс-файл. Импортить внутренности соседней фичи запрещено линтером. 2) Общий код уходит в shared только после второго использования. 3) Мигрируем фичами по мере касания кода, а не «большим взрывом».

// features/payments/index.ts
export { PaymentForm } from "./ui/PaymentForm";
export { usePaymentStatus } from "./model/usePaymentStatus";
// внутренний retryPolicy отсюда недоступен

Через полгода эффект измерим: время онбординга новичка сократилось с трёх недель до одной, а PR-конфликты между командами почти исчезли — у каждой фичи теперь один владелец.

Архитектура — это не про красивые папки, а про то, какие решения команде запрещено принимать случайно.

читайте также

Микросервисы в Docker: уроки, которые дал прод TypeScript спас мой проект: строгая типизация на практике

Комментарии 1

S
Sasha Frontendov15 августа 2026

Мигрировали похоже, но «большим взрывом» — три недели ада. Подтверждаю: только постепенное касание фичей.

Оставить комментарий