1

我正在使用 NDepend 分析我正在开发的 C# 项目。我已经编写了大部分业务逻辑和数据访问层,但现在,我拥有的唯一前端应用程序是一个“又快又脏”的测试应用程序。

所以首先,NDepend 对我的测试应用程序有各种问题。没什么大不了的,只是方法太多,方法太长等。由于这基本上是一个一次性应用程序,我不想花很多时间重构它,所以我从 NDepend 项目中删除了它。

问题是现在,因为这是我在项目中唯一的前端应用程序,NDepend 抱怨我的业务层中的东西,比如未实例化的类,因为除了在我排除的测试应用程序中没有实例化它们的代码。我知道现在可以安全地忽略这些,因为它们最终将由 REAL 前端应用程序实例化,但我真的很想在我对​​这个应用程序进行任何进一步开发之前看到所有黄色三角形都消失。

有没有办法让 NDepend 不抱怨特定程序集中的问题,但仍然包含它以使其他程序集中的查询通过?

如果没有,还有其他想法吗?

4

1 回答 1

0

对的,这是可能的。首先再次参考您的测试应用程序程序集。然后通过添加如下所示的自定义查询来排除它们:

// <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 相关文档可以在这里找到。

于 2013-10-17T09:26:54.753 回答