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

3.0 KiB
Raw Blame History

Проверка Level 1

Граница автоматической проверки и архитектурного ревью Level 1.

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

Проект, заявляющий соответствие Level 1, сопоставляет физические пути с SLM root, слоями, доменными модулями, остальными модулями, Groups, вложенными модулями, публичными точками входа, точками входа app и ресурсами shared. Такое сопоставление задаётся стайлгайдом или конфигурацией проверки и не изменяет нормативный смысл сущностей.

Каждое правило класса A должно быть реализовано проверкой проекта и блокировать её при нарушении. Level 1 не навязывает конкретный инструмент.

Скрипт draft-rules.js проверяет только целостность документов: формат и уникальность кодов, ссылки и наличие тематических упоминаний. Он не проверяет архитектуру приложения.

Актуальный список правил скрипт получает из канонического реестра.

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

Правила класса R проверяются вручную. Статический анализ может обнаружить подозрительный код, но не способен окончательно определить:

  • ответственность и её владельца;
  • связность предметной области доменного модуля;
  • соответствие кода роли слоя;
  • необходимость экспортов публичного API;
  • область жизни ресурса и достаточность очистки;
  • наличие самостоятельной границы у компонента, группы или сегмента.

Проверка доменных модулей

На ревью определяется:

  • представляет ли доменный модуль одну связную предметную область;
  • не разделена ли одна область на соседние модули без самостоятельных владельцев;
  • не объединены ли в одном модуле несвязанные предметные области;
  • остаются ли страницы, маршруты и multi-domain UI в compositions;
  • остаются ли самостоятельные технические сервисы без предметной модели в infra.