Ответ вслух Middle Feature-Sliced Design обновлено

Слои FSD и что в каждом

Вопрос

Перечисли слои FSD сверху вниз и скажи, что живёт в каждом.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Сверху вниз: - app - то, что собирает приложение: провайдеры, роутер, глобальные стили, инициализация аналитики. Кода здесь мало, и он про запуск, а не про домен. - pages - экраны.

Что должно прозвучать в ответе

  • app - инициализация: провайдеры, роутер, глобальные стили

  • pages - страницы, собранные из виджетов и фич

  • widgets - самостоятельные блоки страницы: шапка, лента, сайдбар

  • features - действия пользователя: «добавить в корзину», «подписаться»

  • entities - бизнес-сущности: карточка товара, профиль пользователя

  • shared - переиспользуемое без привязки к домену: кнопки, хелперы, api-клиент

  • impor­ты идут только вниз: pages видит widgets, обратного не бывает

Что могут спросить следом

  • Где лежит форма логина - feature или widget?
  • Нужен ли слой entities, если данные приходят одним куском?

Разбор

Сверху вниз:

  • app - то, что собирает приложение: провайдеры, роутер, глобальные стили, инициализация аналитики. Кода здесь мало, и он про запуск, а не про домен.
  • pages - экраны. Страница почти ничего не делает сама: она компонует.
  • widgets - крупные самостоятельные блоки: шапка, лента, панель фильтров. Виджет может состоять из нескольких фич и сущностей.
  • features - то, что пользователь делает: «добавить в корзину», «переключить тему», «отправить форму». Обычно это действие + его UI.
  • entities - то, о чём приложение: user, product, order. Карточка сущности, её типы, её запросы.
  • shared - переиспользуемое и ничего не знающее о домене: UI-кит, хелперы, настроенный http-клиент, константы.

В новой версии методологии слой processes считается устаревшим: сквозные сценарии раскладывают по страницам и фичам.

Частые ошибки

  • Называть слои в произвольном порядке: направление импортов задаёт именно порядок.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме