Skip to content

Commit a5d7c5d

Browse files
committed
Make some corrections
1 parent 19ba748 commit a5d7c5d

File tree

2 files changed

+18
-18
lines changed
  • i18n
    • en/docusaurus-plugin-content-docs/current/get-started
    • ru/docusaurus-plugin-content-docs/current/get-started

2 files changed

+18
-18
lines changed

i18n/en/docusaurus-plugin-content-docs/current/get-started/overview.mdx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
sidebar_position: 1
33
---
44

5-
# Overview {#overview}
5+
# Overview
66

77
**Feature-Sliced Design** (FSD) is an architectural methodology for scaffolding front-end applications. Simply put, it's a compilation of rules and conventions on organizing code. The main purpose of this methodology is to make the project more understandable and stable in the face of ever-changing business requirements.
88

@@ -87,11 +87,11 @@ Slices cannot use other slices on the same layer, and that helps with high cohes
8787

8888
Slices, as well as layers App and Shared, consist of segments, and segments group your code by its purpose. Segment names are not constrained by the standard, but there are several conventional names for the most common purposes:
8989

90-
- `ui`self-explanatory
91-
- `api`also self-explanatory
92-
- `model` — the data model: schemas, interfaces, stores, and business logic
93-
- `lib` — library code that's only used within this slice
94-
- `config` — configuration files and feature flags
90+
- `ui`everything related to UI display: UI components, date formatters, styles, etc.
91+
- `api`backend interactions: request functions, data types, mappers, etc.
92+
- `model` — the data model: schemas, interfaces, stores, and business logic.
93+
- `lib` — library code that other modules on this slice need.
94+
- `config` — configuration files and feature flags.
9595

9696
Usually these segments are enough for most layers, you would only create your own segments in Shared or App, but this is not a rule.
9797

@@ -115,7 +115,7 @@ Usually these segments are enough for most layers, you would only create your ow
115115

116116
If you have an existing codebase that you want to migrate to FSD, we suggest the following strategy. We found it useful in our own migration experience.
117117

118-
1. Start by slowly shaping up the App and Shared layers module-by-module to create a foundation. Usually, these layers are the smallest.
118+
1. Start by slowly shaping up the App and Shared layers module-by-module to create a foundation.
119119

120120
2. Distribute all of the existing UI across Widgets and Pages using broad strokes, even if they have dependencies that violate the rules of FSD.
121121

i18n/ru/docusaurus-plugin-content-docs/current/get-started/overview.mdx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
sidebar_position: 1
33
---
44

5-
# Обзор {#overview}
5+
# Обзор
66

77
**Feature-Sliced Design** (FSD) — это архитектурная методология для проектирования фронтенд-приложений. Проще говоря, это набор правил и соглашений по организации кода. Главная цель этой методологии — сделать проект понятнее и стабильнее в условиях постоянно меняющихся бизнес-требований.
88

99
Помимо набора правил, FSD — это также целый инструментарий. У нас есть [линтер][ext-steiger] для проверки архитектуры вашего проекта, [генераторы папок][ext-tools] через CLI или IDE, а также богатая библиотека [примеров][examples].
1010

11-
## Подходит ли она мне? {#is-it-right-for-me}
11+
## Подходит ли FSD мне? {#is-it-right-for-me}
1212

1313
FSD можно внедрять в проектах и командах любого размера. Она подходит для вашего проекта, если:
1414

@@ -87,35 +87,35 @@ _\* — эти слои, App и Shared, в отличие от других сл
8787

8888
Слайсы, а также слои App и Shared, состоят из сегментов, а сегменты группируют код по его назначению. Имена сегментов не зафиксированы стандартом, но существует несколько общепринятых имен для наиболее распространенных целей:
8989

90-
- `ui`говорит само за себя
91-
- `api`тоже говорит само за себя
90+
- `ui`всё, что связано с отображением: UI-компоненты, форматтеры дат, стили и т.д.
91+
- `api`взаимодействие с бэкендом: функции запросов, типы данных, мапперы.
9292
- `model` — модель данных: схемы валидации, интерфейсы, хранилища и бизнес-логика.
93-
- `lib` — библиотечный код, который используется только внутри этого слайса.
93+
- `lib` — библиотечный код, который нужен другим модулям этого слайса.
9494
- `config` — файлы конфигурации и фиче-флаги.
9595

9696
Обычно этих сегментов достаточно для большинства слоев, поэтому свои собственные сегменты обычно создают только в Shared или App, но это не жёсткое правило.
9797

9898
## Преимущества {#advantages}
9999

100-
- **Однородность**
100+
- **Однородность**
101101
Поскольку структура стандартизирована, проекты становятся более единообразными, что облегчает набор новых участников в команду.
102102

103103
- **Устойчивость к изменениям и рефакторингу**
104-
Модуль на одном слое не может использовать другие модули на том же слое или слоях выше.
104+
Модуль на одном слое не может использовать другие модули на том же слое или слоях выше.
105105
Это позволяет вам вносить изолированные правки без непредвиденных последствий для остальной части приложения.
106106

107-
- **Контролируемое переиспользование логики**
108-
В зависимости от уровня вы можете сделать код либо очень переиспользуемым, либо очень локальным.
107+
- **Контролируемое переиспользование логики**
108+
В зависимости от уровня вы можете сделать код либо очень переиспользуемым, либо очень локальным.
109109
Это сохраняет баланс между соблюдением принципа **DRY** и практичностью.
110110

111-
- **Ориентация на потребности бизнеса и пользователей**
111+
- **Ориентация на потребности бизнеса и пользователей**
112112
Приложение разделено на бизнес-домены, и при именовании поощряется использование терминологии бизнеса, чтобы вы могли делать полезную работу в продукте, не вникая полностью во все другие несвязанные части проекта.
113113

114114
## Постепенное внедрение {#incremental-adoption}
115115

116116
Если у вас есть существующая кодовая база, которую вы хотите перенести на FSD, мы предлагаем следующую стратегию. На нашем собственном опыте миграции она хорошо себя зарекомендовала.
117117

118-
1. Начните постепенно формировать слои App и Shared, чтобы создать фундамент. Обычно эти слои самые маленькие.
118+
1. Начните постепенно формировать слои App и Shared, чтобы создать фундамент.
119119

120120
2. Раскидайте весь существующий интерфейсный код по виджетам и страницам, даже если у них пока что есть зависимости, нарушающие правила FSD.
121121

0 commit comments

Comments
 (0)