Расскажи про FSD (Feature-Sliced Design) — какие были договорённости в команде
Answer from AI
sobes.tech AI
Feature-Sliced Design (FSD) — это методология организации фронтенд-кода, ориентированная на разделение приложения по функциональным срезам (фичам), что улучшает масштабируемость и поддержку.
В нашей команде были следующие договорённости по FSD:
-
Структура папок:
app/— глобальные настройки и инициализация.pages/— страницы приложения, каждая страница — отдельный срез.features/— отдельные функциональные возможности, которые могут использоваться на разных страницах.entities/— бизнес-сущности с их логикой и состоянием.shared/— переиспользуемые компоненты, утилиты, стили.
-
Принцип изоляции: каждый срез содержит свои компоненты, логику и стили, минимально зависит от других.
-
Коммуникация между срезами: через чётко определённые интерфейсы и события, избегая прямых импортов из глубины других срезов.
-
Именование: единообразное, отражающее принадлежность к срезу и роль компонента.
-
Документация: обязательное описание API срезов и их публичных интерфейсов.
-
Тестирование: каждый срез покрывается юнит- и интеграционными тестами отдельно.
Такой подход помог нам улучшить читаемость кода, упростить навигацию и ускорить onboarding новых разработчиков.