NDepend平均Cyclomatic Complexity没有get和set

时间:2017-07-04 17:36:29

标签: ndepend

我们正在使用NDepend 5,我确实对我们的 平均周期复杂度 有所怀疑。

在检查查询的方式时,我发现它包含了我们属性的 getters setters 。它似乎还包括自动属性方法。那些方法通常相当于CC为1.我不喜欢这样,因为它降低了我们的平均CC并且没有显示我们编码的方法的真实平均值。

有没有办法从此计算中删除属性?

1 个答案:

答案 0 :(得分:1)

您可以使用code query定义自定义复杂度指标,如果需要,可以将其转换为规则(使用前缀warnif count > 0和阈值条件):

from t in JustMyCode.Types
let complexity = t.Methods.Where(m => !(m.IsPropertyGetter || m.IsPropertySetter))
                 .Sum(m => m.CyclomaticComplexity)
orderby complexity descending
select new { t, complexity, t.CyclomaticComplexity }

下面的屏幕截图比较了获得的值。

NDepend custom cyclomatic complexity

顺便说一下,NDepend v5不再受支持,v6v2017带来了很多新功能。