mirror of
https://github.com/gromlab-ru/slm-design.git
synced 2026-08-22 07:30:16 +03:00
35 lines
3.0 KiB
Markdown
35 lines
3.0 KiB
Markdown
# Проверка Level 1
|
||
|
||
> Граница автоматической проверки и архитектурного ревью Level 1.
|
||
|
||
## Автоматическая проверка
|
||
|
||
Проект, заявляющий соответствие Level 1, сопоставляет физические пути с SLM root, слоями, доменными модулями, остальными модулями, Groups, вложенными модулями, публичными точками входа, точками входа `app` и ресурсами `shared`. Такое сопоставление задаётся стайлгайдом или конфигурацией проверки и не изменяет нормативный смысл сущностей.
|
||
|
||
Каждое правило класса `A` должно быть реализовано проверкой проекта и блокировать её при нарушении. Level 1 не навязывает конкретный инструмент.
|
||
|
||
Скрипт `draft-rules.js` проверяет только целостность документов: формат и уникальность кодов, ссылки и наличие тематических упоминаний. Он не проверяет архитектуру приложения.
|
||
|
||
Актуальный список правил скрипт получает из [канонического реестра](../rules/level-1.md).
|
||
|
||
## Архитектурное ревью
|
||
|
||
Правила класса `R` проверяются вручную. Статический анализ может обнаружить подозрительный код, но не способен окончательно определить:
|
||
|
||
- ответственность и её владельца;
|
||
- связность предметной области доменного модуля;
|
||
- соответствие кода роли слоя;
|
||
- необходимость экспортов публичного API;
|
||
- область жизни ресурса и достаточность очистки;
|
||
- наличие самостоятельной границы у компонента, группы или сегмента.
|
||
|
||
## Проверка доменных модулей
|
||
|
||
На ревью определяется:
|
||
|
||
- представляет ли доменный модуль одну связную предметную область;
|
||
- не разделена ли одна область на соседние модули без самостоятельных владельцев;
|
||
- не объединены ли в одном модуле несвязанные предметные области;
|
||
- остаются ли страницы, маршруты и multi-domain UI в `compositions`;
|
||
- остаются ли самостоятельные технические сервисы без предметной модели в `infra`.
|