Создание CQL в NdePend для проверки моделей MVVM
-
24-10-2019 - |
Вопрос
Я хотел проверить несколько шаблонов проектирования в коде C# с помощью статического анализа. Я хочу проверить их, используя NDEPEND. Приложение построено из стиля дизайна MVVM, поэтому типичные шаблоны дизайна, которые я хотел бы проверить: 1. Классы видовой модели не имеют каких-либо зависимостей (элементы WPF), их следует увидеть только в уровне. 2. Просмотр не должен реализовать Idisposable и т. Д.
Я пытался создать запросы в CQL, чтобы запечатлеть эти детали, но не удалось, поскольку мне нужно проверить, на какой уровень принадлежит класс, а также его свойства. Я понимаю, что вложенный запрос еще не поддерживается CQL, так что есть ли я какой -либо способ запечатлеть эти детали с помощью NdePend? Я надеюсь, что смогу каким -то образом захватить результаты нескольких запросов и выполнить их пересечение?
Заранее спасибо, Шон
Решение
Самый простой способ получить Правило CQLINQ что предупреждает, если A использует B (A и B могут быть Сборка/ пространство имен/ тип/ Метод/ поле) просмотреть A и B в матрице зависимости и Генерировать правило кода, которое предупреждает, если эта зависимость существует:
... и в результате генерируется следующее правило: