mirror of
https://github.com/gromlab-ru/slm-design.git
synced 2026-08-22 15:30:16 +03:00
30 lines
1.7 KiB
Markdown
30 lines
1.7 KiB
Markdown
|
|
# Сегменты Level 1
|
||
|
|
|
||
|
|
> Пояснение нормативной модели сегментов Level 1.
|
||
|
|
|
||
|
|
Сегмент организует внутреннее содержимое модуля. Level 1 определяет роль сегмента, но не задаёт обязательный список имён.
|
||
|
|
|
||
|
|
## Связанное правило
|
||
|
|
|
||
|
|
- [`SLM-L1-SEGMENT-R008`](../rules/level-1.md#slm-l1-segment-r008)
|
||
|
|
- [`SLM-L1-MODULE-A004`](../rules/level-1.md#slm-l1-module-a004)
|
||
|
|
|
||
|
|
## Файловая форма
|
||
|
|
|
||
|
|
Названия, набор и содержимое сегментов определяет стайлгайд проекта. Сегмент может группировать файлы, компоненты или вложенные модули.
|
||
|
|
|
||
|
|
Файлы и компоненты сегмента принадлежат родительскому модулю. Вложенный модуль внутри сегмента сохраняет собственные ответственность, публичный API и узел графа зависимостей.
|
||
|
|
|
||
|
|
## Пример
|
||
|
|
|
||
|
|
```text
|
||
|
|
landing/ # Модуль
|
||
|
|
└── ui/ # Сегмент модуля
|
||
|
|
└── hero/ # Каталог компонента
|
||
|
|
├── hero.tsx
|
||
|
|
├── styles/ # Вспомогательный каталог компонента
|
||
|
|
└── types/ # Вспомогательный каталог компонента
|
||
|
|
```
|
||
|
|
|
||
|
|
`styles/` и `types/` внутри каталога компонента не обязаны считаться сегментами SLM. Их форму определяет стайлгайд компонентов.
|