【问题标题】:NDepend Average Cyclomatic Complexity without get and set没有 get 和 set 的 NDepend 平均圈复杂度
【发布时间】:2017-07-04 17:36:28
【问题描述】:

我们使用的是 NDepend 5,我确实对我们的平均循环复杂度有些怀疑。

当检查这个查询是如何产生的时,我发现它包括我们的属性的 getterssetters。它似乎还包括自动属性方法。这些方法通常相当于 CC 为 1。我不喜欢这样,因为它会降低我们的平均 CC,并且不会向我们展示我们编写的方法的真正平均值。

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

【问题讨论】:

    标签: ndepend


    【解决方案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 v5 不再支持,v6v2017 带来了很多新功能。

    【讨论】:

      猜你喜欢
      • 2015-05-11
      • 2012-10-29
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多