Да все правильно, в статье я делал пометку, что так делать не правильно. В первую очередь так было сделано, чтобы показать работу исключений проверок и для большей наглядности.
Подобную конфигурацию deptrac мы используем на большом монолите, основная сложность была в том что много мест не соответствовали архитектуре и мы часть файлов добавляли в ignore. И соответственно, сразу появляется техдолг на рефакторинг)
Файл игнора
parameters:
exclude_files:
# Массовые игноры папок
- '#.Core/Application.#'
И в основой файл настроек добавляем файл с игнорами
imports:
- deptrac.ignore.yaml
В случае если у нас в проекте есть изолированные модули, то можно просто использовать код из примера, в случае если в модуле еще есть изолированные контексты, можно это реализовать добавив дополнительный файл для проверки взаимодействия между контекстами. И в каждом модуле добавлять свою конфигурацию и подключать через imports в общий файл для удобства проверки. В целом даже если модулей/контекстов очень много, это не займет много времени, так как коллекторы +- унифицированные получаются
Да все правильно, в статье я делал пометку, что так делать не правильно. В первую очередь так было сделано, чтобы показать работу исключений проверок и для большей наглядности.
Подобную конфигурацию deptrac мы используем на большом монолите, основная сложность была в том что много мест не соответствовали архитектуре и мы часть файлов добавляли в ignore. И соответственно, сразу появляется техдолг на рефакторинг)
Файл игнора
parameters:
exclude_files:
# Массовые игноры папок
- '#.Core/Application.#'
И в основой файл настроек добавляем файл с игнорами
imports:
- deptrac.ignore.yaml
В случае если у нас в проекте есть изолированные модули, то можно просто использовать код из примера, в случае если в модуле еще есть изолированные контексты, можно это реализовать добавив дополнительный файл для проверки взаимодействия между контекстами. И в каждом модуле добавлять свою конфигурацию и подключать через imports в общий файл для удобства проверки. В целом даже если модулей/контекстов очень много, это не займет много времени, так как коллекторы +- унифицированные получаются
- name: ContextInModule
collectors:
- type: classLike
regex: ^Sberhealth\\Demo\\ModuleName\\ContextName\\.*
ruleset:
ContextInModule: