advanced
Feature-Sliced Design
Организуйте frontend modules по app, pages, widgets, features, entities и shared layers, когда эти dependency rules подходят product.
Feature-Sliced Design делит frontend на слои — app, pages, widgets, features, entities, shared — с правилами импорта: нижние slices не зависят от верхних продуктовых концептов. Масштабирует команды через colocation feature code и public API per slice.
На интервью: допустимые импорты между слоями и почему `shared` не импортирует `features`. Сравнение с folder-by-type.
Типовые ошибки: слои как пустые папки; обход правил relative paths; shared как свалка.
Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.
Чеклист:
- Public API slice через index exports.
- Lint границ импорта между слоями.
- Colocation UI, model и API feature.
- Документация именования slices для новичков.