我正在使用ndepend来查找我的代码问题。而现在我发现错误的误报太多了。
例如,我有一个完全不复杂的类,但它确实有很多属性。所以,我会从NDepend得到一个警告,那个班级有太多的方法。
这是开箱即用的NDepend规则,希望类具有大量方法:
WARN IF Count > 0 IN SELECT TYPES WHERE
NbMethods > 20
ORDER BY NbMethods DESC
我可以更改NDepend计算方法数的方式,所以我可以排除我想要的属性吗?
答案 0 :(得分:1)
谢尔盖,是的,这要归功于以下CQLinq rule:我可以更改NDepend计算方法数的方式,所以我可以排除我想要的属性吗?
warnif count > 0
from t in Application.Types
let methods = t.Methods
.Where(m => !m.IsPropertyGetter && !m.IsPropertySetter &&
!m.IsConstructor)
where methods.Count() > 20
orderby methods.Count() descending
select new { t, methods }
这里不仅可以获得方法的数量,而且对于每种类型,您都可以获得所有方法: