Sobes.tech
Назад к вопросам
Middle
7

Расскажи про FSD (Feature-Sliced Design) — какие были договорённости в команде

Компании, где спрашивали
Раппорто

Ответ от нейросети

sobes.tech AI

Feature-Sliced Design (FSD) — это методология организации фронтенд-кода, ориентированная на разделение приложения по функциональным срезам (фичам), что улучшает масштабируемость и поддержку.

В нашей команде были следующие договорённости по FSD:

  • Структура папок:

    • app/ — глобальные настройки и инициализация.
    • pages/ — страницы приложения, каждая страница — отдельный срез.
    • features/ — отдельные функциональные возможности, которые могут использоваться на разных страницах.
    • entities/ — бизнес-сущности с их логикой и состоянием.
    • shared/ — переиспользуемые компоненты, утилиты, стили.
  • Принцип изоляции: каждый срез содержит свои компоненты, логику и стили, минимально зависит от других.

  • Коммуникация между срезами: через чётко определённые интерфейсы и события, избегая прямых импортов из глубины других срезов.

  • Именование: единообразное, отражающее принадлежность к срезу и роль компонента.

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

  • Тестирование: каждый срез покрывается юнит- и интеграционными тестами отдельно.

Такой подход помог нам улучшить читаемость кода, упростить навигацию и ускорить onboarding новых разработчиков.