排除大会在某些方面,但不是其他人

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

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

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

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

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


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

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

链接地址: http://www.djcxy.com/p/37729.html

上一篇: exclude assembly in some ways but not others

下一篇: Inherited method dependencies using NDepend