Сборка CQL в NDepend для проверки шаблонов MVVM - PullRequest
1 голос
/ 15 марта 2011

Я хотел проверить несколько шаблонов проектирования в коде C # с помощью статического анализа. Я хочу проверить это с помощью NDepend. Приложение построено в стиле MVVM-дизайна, поэтому типичные шаблоны проектирования, которые я хотел бы проверить: 1. Классы View-Model не имеют каких-либо свойств DependencyProperties (WPF), их следует видеть только в слое View. 2. Уровень просмотра не должен реализовывать IDisposable и т. Д.

Я пытался создавать запросы в CQL для захвата этих деталей, но не смог, так как мне нужно проверить, к какому уровню принадлежит класс, а также его свойства. Я понимаю, что вложенный запрос еще не поддерживается CQL, так есть ли способ захватить эти детали с помощью NDepend? Я надеюсь, что смогу каким-то образом захватить результаты нескольких запросов и выполнить их пересечение?

Спасибо заранее, Shaun

1 Ответ

1 голос
/ 15 марта 2011

Самый простой способ получить правило CQLinq , которое предупреждает, если A использует B (A и B могут быть Assembly / Namespace / Type / Method / Field ), это просмотреть Aи B в Матрице зависимостей и Создать правило кода, которое предупреждает, существует ли эта зависимость :

Generate a code rule that warns if this dependency exists

... и, как результат,генерируется следующее правило:

Code rule genetaed

...