You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: i18n/en/docusaurus-plugin-content-docs/current/get-started/faq.md
+31-66
Original file line number
Diff line number
Diff line change
@@ -7,97 +7,62 @@ pagination_next: guides/index
7
7
8
8
:::info
9
9
10
-
You can ask your question in [telegram chat](https://t.me/feature_sliced) / [github-issues](https://github.com/feature-sliced/documentation/issues) / [github-discussions](https://github.com/feature-sliced/documentation/discussions)
10
+
You can ask your question in our [Telegram chat][telegram], [Discord community][discord], and [GitHub Discussions][github-discussions].
11
11
12
12
:::
13
13
14
-
### Structure = Architecture?
14
+
### Is there a toolkit or a linter?
15
15
16
-
Architecture defines abstractions and relations between them (shared/features/pages/...)
16
+
There is an official ESLint config — [@feature-sliced/eslint-config][eslint-config-official], and an ESLint plugin — [@conarti/eslint-plugin-feature-sliced][eslint-plugin-conarti], created by Aleksandr Belous, a community member. You're welcome to contribute to these projects or start your own!
17
17
18
-
*But without a proper structure, it's difficult to design a good architecture*
19
-
20
-
### Do I need a methodology only for "understanding and clarity" of what is happening in the project?
21
-
22
-
Rather yes than no
23
-
24
-
*Otherwise, you have to read huge directories `components/`...*
25
-
26
-
### Does a novice developer need an architecture/methodology?
27
-
28
-
Rather yes than no
29
-
30
-
*Usually, when you design and develop a project in one person, everything goes smoothly. But if there are pauses in development, new developers are added to the team - then problems come*
31
-
32
-
### Why do we need another methodology when everything is based on principles?
33
-
34
-
Answered [here](/docs/about/motivation)
35
-
36
-
### Where can I find examples of applying the methodology?
37
-
38
-
There are only such ones in the public domain so far, not all of them have been fully adapted to the latest version
39
-
40
-
*In the near future, the list will be updated and will be placed in a separate section*
*Also, you can get acquainted with our [guides](/docs/guides) and [tutorials](/docs/get-started)*
20
+
If you need plain markup layouts, you can keep them in `shared/ui`. If you need to use higher layers inside, there are a few options:
46
21
47
-
### Are there some useful resources / articles / etc about FSD and related things?
22
+
- Perhaps you don't need layouts at all? If the layout is only a few lines, it might be reasonable to duplicate the code in each page rather than try to abstract it.
23
+
- If you do need layouts, you can have them as separate widgets or pages, and compose them in your router configuration in App. Nested routing is another option.
48
24
49
-
<https://github.com/feature-sliced/awesome>
25
+
### What is the difference between a feature and an entity?
50
26
51
-
### The project is written on feature-slices v1, how to update and is it worth it?
27
+
An _entity_ is a real-life concept that your app is working with. A _feature_ is an nteraction that provides real-life value to your app’s users, the thing people want to do with your entities.
52
28
53
-
Answered [here](/docs/guides/migration/from-v1)
29
+
For more information, along with examples, see the Reference page on [slices][reference-entities].
54
30
55
31
### Can I embed pages/features/entities into each other?
Yes, but this embedding should happen in higher layers. For example, inside a widget, you can import both features and then insert one feature into another as props/children.
58
34
59
-
### How do I work with the authorization context?
60
-
61
-
Answered [here](/docs/guides/examples/auth)
35
+
You cannot import one feature from another feature, this is prohibited by the [**import rule on layers**][import-rule-layers].
62
36
63
37
### What about Atomic Design?
64
38
65
-
The current version of the methodology does not oblige, but also does not prohibit the use of Atomic Design together with Feature-Sliced Design
66
-
67
-
At the same time, Atomic Design [is well applied](https://t.me/feature_sliced/1653) for the `ui` segment of modules
68
-
69
-
### What is the difference between feature and entity?
39
+
The current version of the methodology does not require nor prohibit the use of Atomic Design together with Feature-Sliced Design.
70
40
71
-
-`Entity` - business **entity**
72
-
- blog-post / user / order / product / ...
73
-
-`Feature` - business feature, **action on an entity**
For example, Atomic Design [can be applied well](https://t.me/feature_sliced/1653) for the `ui` segment of modules.
75
42
76
-
See also [comparison reference](/docs/reference/layers), [viewer implementation of logic by layers](/docs/guides/examples/auth)
43
+
### Are there any useful resources/articles/etc. about FSD?
77
44
78
-
### Where to store the layout/template of pages?
79
-
80
-
It is better to store general templates for markup in `shared/ui`, but there are [different cases](https://github.com/feature-sliced/documentation/discussions/129)
45
+
Yes! <https://github.com/feature-sliced/awesome>
81
46
82
-
### Will there be a toolkit / linters?
47
+
### Why do I need Feature-Sliced Design?
83
48
84
-
It will be, at the moment - in development =)
49
+
It helps you and your team to quickly overview the project in terms of its main value-bringing components. A standardized architecture helps to speed up onboarding and resolves debates about code structure. See the [motivation][motivation] page to learn more about why FSD was created.
85
50
86
-
> For now, to sort / prohibit imports, you can use
87
-
>
88
-
> -`eslint-plugin-import`
89
-
> -`eslint-plugin-simple-import-sort`
90
-
> -`eslint-plugin-boundaries`
91
-
> -`dependency-cruiser`
92
-
>
93
-
> See [basic config example](https://gist.github.com/azinit/4cb940a1d4a3e05ef47e15aa18a9ecc5)
51
+
### Does a novice developer need an architecture/methodology?
94
52
95
-
### Can I store the features used on one page directly in the page directory?
53
+
Rather yes than no
96
54
97
-
The methodology strongly recommends against doing this, since each module has a corresponding place in the structure.
55
+
*Usually, when you design and develop a project in one person, everything goes smoothly. But if there are pauses in development, new developers are added to the team - then problems come*
98
56
99
-
Otherwise , there is a risk of complicating the project's code base
57
+
### How do I work with the authorization context?
100
58
101
-
> *"Today, the feature can only be used on one page. Next week - on three. And in a month - it may be removed at all. We cannot predict the future, and we need to refrain from premature optimizations every time"*
59
+
Answered [here](/docs/guides/examples/auth)
102
60
103
-
*See also the example from [tutorial](/docs/get-started/tutorial#normal-approach)*
Copy file name to clipboardExpand all lines: i18n/ru/docusaurus-plugin-content-docs/current/get-started/faq.md
+31-66
Original file line number
Diff line number
Diff line change
@@ -7,97 +7,62 @@ pagination_next: guides/index
7
7
8
8
:::info
9
9
10
-
Свой вопрос можно задать в [telegram-чате](https://t.me/feature_sliced) / [github-issues](https://github.com/feature-sliced/documentation/issues) / [github-discussions](https://github.com/feature-sliced/documentation/discussions)
10
+
Свой вопрос можно задать в [Telegram-чате][telegram], [Discord-сообществе][discord] и [GitHub Discussions][github-discussions].
11
11
12
12
:::
13
13
14
-
### Структура = Архитектура? {#structure--architecture}
14
+
### Существует ли тулкит или линтер? {#is-there-a-toolkit-or-a-linter}
15
15
16
-
Архитектура - про абстракции и выстраивание связей между ними (shared/features/pages/...)
16
+
Есть официальный конфиг для ESLint — [@feature-sliced/eslint-config][eslint-config-official], и плагин для ESLint — [@conarti/eslint-plugin-feature-sliced][eslint-plugin-conarti], созданный участником сообщества Александром Белоусом. Мы будем рады вашим вкладам в эти проекты или созданию своих!
17
17
18
-
*Но без надлежащей структуры - хорошей архитектуры не сделать*
19
-
20
-
### Нужна ли мне методология только для "понимания и ясности" что происходит в проекте? {#do-i-need-a-methodology-only-for-understanding-and-clarity-of-what-is-happening-in-the-project}
21
-
22
-
Скорее да, чем нет
23
-
24
-
*Иначе приходится читать огромные директории `components/`...*
25
-
26
-
### Нужна ли архитектура/методология начинающему разработчику? {#does-a-novice-developer-need-an-architecturemethodology}
27
-
28
-
Скорее да, чем нет
29
-
30
-
*Обычно, когда проектируешь разрабатываешь проект в одно лицо - все идет гладко. Но если появляются паузы в разработке, добавляются новые разработчики в команду - тогда-то и наступают проблемы*
31
-
32
-
### Зачем нужна еще одна методология, когда все строится на принципах? {#why-do-we-need-another-methodology-when-everything-is-based-on-principles}
33
-
34
-
Ответили [здесь](/docs/about/motivation)
35
-
36
-
### Где найти примеры применения методологии? {#where-can-i-find-examples-of-applying-the-methodology}
37
-
38
-
В открытом доступе пока есть только такие, не все до конца адаптированы до последней версии
39
-
40
-
*В ближайшее время список будет пополняться и будет вынесен в отдельный раздел*
### Где хранить layout/template страниц? {#where-to-store-the-layouttemplate-of-pages}
44
19
45
-
*Также можно ознакомиться с [гайдами](/docs/guides) и [туториалами](/docs/get-started)*
20
+
Если вам нужны простые шаблоны разметки, вы можете хранить их в `shared/ui`. Если вам нужно использовать более высокие слои, есть несколько вариантов:
46
21
47
-
### Есть ли какие-нибудь полезные ресурсы/статьи/и т.д. по FSD и связанным вещам? {#are-there-some-useful-resources--articles--etc-about-fsd-and-related-things}
22
+
- Возможно, вам вообще не нужны лейауты? Если макет состоит всего из нескольких строк, разумно будет дублировать код в каждой странице, а не пытаться абстрагировать его.
23
+
- Если вам нужны лейауты, вы можете хранить их как отдельные виджеты или страницы, и компоновать их в конфигурации роутера в App. Вложенный роутинг — еще один вариант.
48
24
49
-
<https://github.com/feature-sliced/awesome>
25
+
### В чем отличие feature от entity? {#what-is-the-difference-between-feature-and-entity}
50
26
51
-
### Проект написан на feature-slices v1, как обновиться и стоит ли? {#the-project-is-written-on-feature-slices-v1-how-to-update-and-is-it-worth-it}
27
+
_Entity_ — это понятие из реальной жизни, с которым работает ваше приложение.. _Feature_ — это взаимодействие, представляющее реальную ценность для пользователей; что-то, что люди хотят делать с сущностями.
52
28
53
-
Ответили [здесь](/docs/guides/migration/from-v1)
29
+
Для получения дополнительной информации, а также примеров, см. страницу [про слайсы][reference-entities] в разделе Reference.
54
30
55
31
### Могу ли я вкладывать страницы/фичи/сущности друг в друга? {#can-i-embed-pagesfeaturesentities-into-each-other}
Да, но это вложение должно происходить в более высоких слоях. Например, внутри виджета вы можете импортировать обе фичи, а затем вставить одну фичу в другую через пропсы/вложение.
58
34
59
-
### Как мне работать с контекстом авторизации? {#how-do-i-work-with-the-authorization-context}
60
-
61
-
Ответили [здесь](/docs/guides/examples/auth)
35
+
Вы не можете импортировать одну фичу из другой фичи, это запрещено [**правилом импортов для слоёв**][import-rule-layers].
62
36
63
37
### А что с Atomic Design? {#what-about-atomic-design}
64
38
65
-
Текущая версия методологии не обязывает, но и не запрещает использовать Atomic Design вместе с Feature-Sliced Design
66
-
67
-
При этом Atomic Design [хорошо применяется](https://t.me/feature_sliced/1653) для `ui` сегмента модулей
68
-
69
-
### В чем отличие feature и entity? {#what-is-the-difference-between-feature-and-entity}
39
+
Текущая версия методологии не обязывает, но и не запрещает использовать Atomic Design вместе с Feature-Sliced Design.
70
40
71
-
-`Entity` - бизнесовая **сущность**
72
-
- blog-post / user / order / product / ...
73
-
-`Feature` - бизнесовая фича, **действие над сущностью**
При этом Atomic Design [хорошо применяется](https://t.me/feature_sliced/1653) для `ui` сегмента модулей.
75
42
76
-
См. также [справочную информацию по сравнению](/docs/reference/layers), [реализация viewer логики по слоям](/docs/guides/examples/auth)
43
+
### Есть ли какие-нибудь полезные ресурсы/статьи/т.д. по FSD? {#are-there-any-useful-resourcesarticlesetc-about-fsd}
77
44
78
-
### Где хранить layout/template страниц? {#where-to-store-the-layouttemplate-of-pages}
79
-
80
-
Общие шаблоны для разметки лучше хранить в `shared/ui`, но бывают [разные случаи](https://github.com/feature-sliced/documentation/discussions/129)
45
+
Да! <https://github.com/feature-sliced/awesome>
81
46
82
-
### А будет тулкит / линтеры? {#will-there-be-a-toolkit--linters}
47
+
### Зачем мне нужен Feature-Sliced Design? {#why-do-i-need-feature-sliced-design}
83
48
84
-
Будет, на данный момент - в разработке =)
49
+
Он помогает вам и вашей команде быстро ознакомиться с проектом с точки зрения его основных компонентов, приносящих бизнес-ценность. Стандартизированная архитектура помогает ускорить онбординг и разрешать споры о структуре кода. См. страницу [Мотивация][motivation], чтобы узнать больше о том, почему FSD был создан.
85
50
86
-
> Пока что, для сортировки / запрета импортов можно воспользоваться
87
-
>
88
-
> -`eslint-plugin-import`
89
-
> -`eslint-plugin-simple-import-sort`
90
-
> -`eslint-plugin-boundaries`
91
-
> -`dependency-cruiser`
92
-
>
93
-
> См. [базовый пример конфига](https://gist.github.com/azinit/4cb940a1d4a3e05ef47e15aa18a9ecc5)
51
+
### Нужна ли архитектура/методология начинающему разработчику? {#does-a-novice-developer-need-an-architecturemethodology}
94
52
95
-
### Могу ли я хранить фичи используемые на одной странице прямо в директории страницы? {#can-i-store-the-features-used-on-one-page-directly-in-the-page-directory}
53
+
Скорее да, чем нет
96
54
97
-
Методология крайне не рекомендует так делать, поскольку каждому модулю есть соответствующее место в структуре
55
+
*Обычно, когда проектируешь разрабатываешь проект в одно лицо - все идет гладко. Но если появляются паузы в разработке, добавляются новые разработчики в команду - тогда-то и наступают проблемы*
98
56
99
-
Иначе - есть риск усложнения кодовой базы проекта
57
+
### Как мне работать с контекстом авторизации? {#how-do-i-work-with-the-authorization-context}
100
58
101
-
> *"Сегодня фича может использоваться только на одной странице. На следующей неделе - на трех. А через месяц - ее может не быть совсем. Мы не можем предсказывать будущее, и нужно каждый раз воздерживаться от преждевременных оптимизаций"*
59
+
Ответили [здесь](/docs/guides/examples/auth)
102
60
103
-
*См. также пример из [tutorial](/docs/get-started/tutorial#usual-approach)*
0 commit comments