我们正在使用NDepend 5,我确实对我们的 平均周期复杂度 有所怀疑。
在检查查询的方式时,我发现它包含了我们属性的 getters 和 setters 。它似乎还包括自动属性方法。那些方法通常相当于CC为1.我不喜欢这样,因为它降低了我们的平均CC并且没有显示我们编码的方法的真实平均值。
有没有办法从此计算中删除属性?
答案 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 }
下面的屏幕截图比较了获得的值。