Ndepend - исключить сборку в некоторых отношениях, но не в других
Я использую NDepend для анализа проекта C#, который я нахожусь в процессе разработки. У меня написана большая часть моей бизнес-логики и слоев доступа к данным, но сейчас единственное внешнее приложение, которое у меня есть, это "быстрое и грязное" тестовое приложение.
Итак, во-первых, у NDepend есть много проблем с моим тестовым приложением. Ничего серьезного, просто такие вещи, как слишком много методов, слишком длинные методы и т. Д. Поскольку это по сути одноразовое приложение, я не хотел тратить кучу времени на его рефакторинг, поэтому я удалил его из проекта NDepend.
Проблема в том, что теперь, так как это было мое единственное интерфейсное приложение в проекте, NDepend жалуется на такие вещи в моем бизнес-уровне, как необъявленные классы, поскольку нет кода, который их создает, за исключением тестового приложения, которое я исключил. Я знаю, что на данный момент их можно безопасно игнорировать, поскольку в конечном итоге они будут созданы в приложении REAL, но я действительно очень хочу, чтобы все желтые треугольники исчезли, прежде чем я приступлю к дальнейшей разработке этого приложения.
Есть ли способ заставить NDepend НЕ жаловаться на проблемы в конкретной сборке, но все же включить его, чтобы проходить запросы в ДРУГИХ сборках?
Если нет, то есть другие идеи?
1 ответ
Да, это возможно. Сначала снова обратитесь к сборке тестового приложения. Затем исключите их, добавив пользовательский запрос, который выглядит следующим образом:
// <Name>Discard test assemblies from JustmyCode</Name>
notmycode Application.Assemblies.WithNameIn("TestAsm1","TestAsm2"...)
Этот запрос может быть сохранен в группе по умолчанию Defining JustMyCode (не обязательно, но рекомендуется).
Затем вам нужно адаптировать правила кода, которые предупреждают о том, что тестовые сборки могут использовать грязные вещи. JustMyCode
вместо Application
(лайк from m in JustMyCode.Methods...
вместо from m in Application.Methods...
).
Документацию, связанную с notmycode/JustmyCode, можно найти здесь.