Files
slm-design/DRAFT/level-2/validation.md

3.2 KiB
Raw Blame History

Проверка Level 2

Проверка расширенной модели слоёв и доменных границ.

Проект Level 2 выполняет все автоматические проверки и архитектурное ревью Level 1, используя нормативный порядок из шести слоёв.

Сопоставление структуры

Конфигурация проверки проекта дополнительно определяет:

  • физический путь слоя domains;
  • доменные модули непосредственно в слое и внутри Groups;
  • Groups слоя domains;
  • вложенные модули внутри доменных модулей.

Сопоставление путей не определяет предметный смысл. Оно позволяет проверить направление импортов, публичные API, циклы и доступ к вложенным модулям.

Автоматическая проверка

Новых автоматических правил Level 2 не требуется. Структурные инварианты обеспечивают правила Level 1:

  • порядок app → compositions → domains → infra → ui → shared;
  • импорт модулей только через публичные API;
  • отсутствие циклов в графе модулей;
  • отсутствие прямого доступа к вложенным модулям извне родителя;
  • отсутствие реализации и API у Groups.

Архитектурное ревью

Дополнительное правило Level 2 проверяется на ревью. Нужно определить:

  • представляет ли доменный модуль одну связную предметную область;
  • не разделена ли одна область на соседние доменные модули без самостоятельных владельцев;
  • не объединены ли в одном модуле несвязанные предметные области;
  • принадлежат ли модели, правила, сценарии и продуктовое состояние правильному домену;
  • остаётся ли Group только навигационной классификацией;
  • не размещены ли page-specific composition или самостоятельный технический сервис в domains.

Связанные правила

Скрипт draft-rules.js проверяет целостность реестров и ссылок документации, но не определяет предметные границы приложения.