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

Когда FSD не нужен

Вопрос

Когда FSD избыточен и что делать вместо него? Отвечай честно - на секции ценят способность не применять модное к месту и не к месту.

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

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

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

Коротко

FSD - инвестиция в изменяемость, и у неё есть цена: больше папок, больше церемонии на каждое движение. Она окупается там, где код живёт годами и его правят несколько человек.

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

  • на маленьком проекте и на прототипе структура дороже пользы

  • если команда один человек и проект живёт месяцы, а не годы

  • если команда не готова поддерживать правило - половина FSD хуже, чем его отсутствие

  • альтернатива - плоская структура по фичам без слоёв

  • переходить можно постепенно: сначала shared и entities

  • решает не мода, а срок жизни и число людей в коде

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

  • А что выбрать для библиотеки компонентов?

Разбор

FSD - инвестиция в изменяемость, и у неё есть цена: больше папок, больше церемонии на каждое движение. Она окупается там, где код живёт годами и его правят несколько человек.

Не стоит брать: на прототипе, на лендинге, на проекте в одно лицо на пару месяцев. Там выигрывает плоская структура, сгруппированная по фичам.

Отдельно: половина FSD хуже, чем его отсутствие. Если слои есть, а правило импортов не проверяется линтером, получается структура, которая выглядит строгой и не даёт никаких гарантий - худший вариант из возможных.

Мигрировать разумно по частям: сначала выделить shared, потом entities, а features нарезать по мере того, как приходят задачи. Переписывать всё разом ради структуры - плохая сделка.

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

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

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