FAQ
info
Свой вопрос можно задать в telegram-чате / github-issues / github-discussions
Структура = Архитектура?
Архитектура - про абстракции и выстраивание связей между ними (shared/features/pages/...)
Но без надлежащей структуры - хорошей архитектуры не сделать
Нужна ли мне методология только для "понимания и ясности" что происходит в проекте?
Скорее да, чем нет
Иначе приходится читать огромные директории components/
...
Нужна ли архитектура/методология начинающему разработчику?
Скорее да, чем нет
Обычно, когда проектируешь разрабатываешь проект в одно лицо - все идет гладко. Но если появляются паузы в разработке, добавляются новые разработчики в команду - тогда-то и наступают проблемы
Зачем нужна еще одна методология, когда все строится на принципах?
Ответили здесь
Где найти примеры применения методологии?
В открытом доступе пока есть только такие, не все до конца адаптированы до последней версии
В ближайшее время список будет пополняться и будет вынесен в отдельный раздел
Также можно ознакомиться с гайдами и туториалами
Есть ли какие-нибудь полезные ресурсы/статьи/и т.д. по FeatureSliced и связанным вещам?
https://github.com/feature-sliced/awesome
Проект написан на feature-slices v1, как обновиться и стоит ли?
Ответили здесь
Могу ли я вкладывать страницы/фичи/сущности друг в друга?
Ответили здесь
Как мне работать с контекстом авторизации?
Ответили здесь
А что с Atomic Design?
Текущая версия методологии не обязывает, но и не запрещает использовать Atomic Design вместе с Feature-Sliced Design
При этом Atomic Design хорошо применяется для ui
сегмента модулей
В чем отличие feature и entity?
Entity
- бизнесовая сущность- blog-post / user / order / product / ...
Feature
- бизнесовая фича, действие над сущностью- create-blog-post / login-by-oauth / edit-account / publish-video / ...
См. также справочную информацию по сравнению, реализация viewer логики по слоям
Где хранить layout/template страниц?
Общие шаблоны для разметки лучше хранить в shared/ui
, но бывают разные случаи
А будет тулкит / линтеры?
Будет, на данный момент - в разработке =)
Пока что, для сортировки / запрета импортов можно воспользоваться
eslint-plugin-import
eslint-plugin-simple-import-sort
eslint-plugin-boundaries
dependency-cruiser
Могу ли я хранить фичи используемые на одной странице прямо в директории страницы?
Методология крайне не рекомендует так делать, поскольку каждому модулю есть соответствующее место в структуре
Иначе - есть риск усложнения кодовой базы проекта
"Сегодня фича может использоваться только на одной странице. На следующей неделе - на трех. А через месяц - ее может не быть совсем. Мы не можем предсказывать будущее, и нужно каждый раз воздерживаться от преждевременных оптимизаций"
См. также пример из quick-start