Перейти к содержимому

FAQ

Да! У нас есть линтер Steiger для проверки архитектуры вашего проекта и генераторы папок через CLI или IDE.

Если вам нужны простые шаблоны разметки, вы можете хранить их в shared/ui. Если вам нужно использовать более высокие слои, есть несколько вариантов:

  • Возможно, вам вообще не нужны лейауты? Если макет состоит всего из нескольких строк, разумно будет дублировать код в каждой странице, а не пытаться абстрагировать его.
  • Если вам нужны лейауты, вы можете хранить их как отдельные виджеты или страницы, и компоновать их в конфигурации роутера в App. Вложенный роутинг — еще один вариант.

Entity — это понятие из реальной жизни, с которым работает ваше приложение. Feature — это взаимодействие, представляющее реальную ценность для пользователей; что-то, что люди хотят делать с сущностями.

Для получения дополнительной информации, а также примеров, см. страницу про слайсы в разделе Reference.

Могу ли я вкладывать страницы/фичи/сущности друг в друга?

Заголовок раздела «Могу ли я вкладывать страницы/фичи/сущности друг в друга?»

Да, но это вложение должно происходить в более высоких слоях. Например, внутри виджета вы можете импортировать обе фичи, а затем вставить одну фичу в другую через пропсы/вложение.

Вы не можете импортировать одну фичу из другой фичи, это запрещено правилом импортов для слоёв.

Текущая версия методологии не обязывает, но и не запрещает использовать Atomic Design вместе с Feature-Sliced Design.

При этом Atomic Design хорошо применяется для ui сегмента модулей.

Есть ли какие-нибудь полезные ресурсы/статьи/т.д. по FSD?

Заголовок раздела «Есть ли какие-нибудь полезные ресурсы/статьи/т.д. по FSD?»

Да! https://github.com/feature-sliced/awesome

Он помогает вам и вашей команде быстро ознакомиться с проектом с точки зрения его основных компонентов, приносящих бизнес-ценность. Стандартизированная архитектура помогает ускорить онбординг и разрешать споры о структуре кода. См. страницу Мотивация, чтобы узнать больше о том, почему FSD был создан.

Нужна ли архитектура/методология начинающему разработчику?

Заголовок раздела «Нужна ли архитектура/методология начинающему разработчику?»

Скорее да, чем нет

Обычно, если проектировать и разрабатывать проект в одиночку - все идет гладко. Но если появляются паузы в разработке, добавляются новые разработчики в команду - тогда-то и наступают проблемы

Как мне работать с контекстом авторизации?

Заголовок раздела «Как мне работать с контекстом авторизации?»

Ответили здесь