1.4Kпросмотров
2 марта 2026 г.
📷 ФотоScore: 1.6K
Почему многим не зашёл 🔤🔤🔤 Feature-Sliced Design – одна из первых архитектурных методологий, которая родилась именно во фронтенд-сообществе. И за это команде FSD респект – они реально подтолкнули людей задуматься об архитектуре. Но факт остаётся фактом: многим FSD не зашёл. И причин две. 🔴 Люди не любят правила Запрет на кросс-импорты, строгое именование слоёв, жёсткая структура папок – для многих это стало первым столкновением с архитектурными ограничениями. И первая реакция организма – отторжение. «Зачем мне это, я и так нормально пишу.» Это не проблема FSD. Это проблема того, что люди привыкли к полной свободе, чтобы лишний раз не включать голову. 🔴Скорость чтения абстракции В FSD фичи разбиты как use-кейсы. Открываешь features/ – видишь addToCart, authorize, updateProfile. Кричащая архитектура, всё по учебнику. Но вот проблема: реальная фича на экране пользователя – это не один use-case. Это страница, которая собирается из кусков: что-то из entities/, что-то из features/, склеивается на уровне pages/. И чтобы понять, как работает то, что ты прямо сейчас видишь в браузере – тебе нужно собирать пазл по трём-четырём слоям. А можно по-другому. Что если фича – это не use-case, а полноценный UI-модуль? Не addToCartButton, а userCart. Заходишь в папку – и там всё: компоненты, стор, работа с API, бизнес-логика. Всё, что нужно для работы этой фичи. Через правильный нейминг ты сразу видишь entry point – какой компонент открывать первым. Видишь, где стейт, где access layer. Можешь реализовать инверсию зависимостей через React-контекст, сделав фичу полностью изолированной от остальных. И вот тут получается настоящий low coupling, high cohesion. Не на бумаге, а на практике. Да, внутри папки будет больше файлов. Но целостность модуля важнее, чем количество файлов в нём. Ты открыл папку – ты понял фичу. Без сборки пазла по всему проекту. FSD дал сообществу главное – импульс думать об архитектуре. Но подход к декомпозиции фич можно сделать удобнее для реальной работы. Как именно это выглядит в коде – разбираю в курсе.
Итеративно: от плохой структуры к модульной архитектуре, шаг за шагом. ⚠️ Подробнее тут