Ndepend - 在某些方面排除程序集,但不排除其他方式

本文关键字:排除 其他 方式 程序集 在某些方面 Ndepend | 更新日期: 2023-09-27 18:35:52

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

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

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

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

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

Ndepend - 在某些方面排除程序集,但不排除其他方式

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

// <Name>Discard test assemblies from JustmyCode</Name>
notmycode Application.Assemblies.WithNameIn("TestAsm1","TestAsm2"...)

此查询可以保存在默认组中定义 JustMyCode(不是必需的,但建议使用)。

然后,您需要调整警告测试程序集脏东西的代码规则,以使用JustMyCode而不是Application(如from m in JustMyCode.Methods...而不是from m in Application.Methods...)。

notmycode/justmyCode相关文档可以在这里找到。