【问题标题】:CK metrics from C# project with Ndepend来自 C# 项目的 CK 指标与 Ndepend
【发布时间】:2011-05-28 10:58:39
【问题描述】:

我有一个学校项目。现在我需要从中报告所有指标 CK(Chidamber Kemerer 指标)。报告必须像所有这些指标的表格。问题是如何从 Ndepend 这个报告中生成它,它不是我想要的。

请帮忙说一下怎么做...也许是一些提示、文件或一些非常重要的东西...

【问题讨论】:

  • 许多工具支持许多指标,几乎没有支持原始论文中定义的指标...

标签: metrics code-metrics ndepend


【解决方案1】:

好的,所以如果我们谈论的是these Chidamber Kemerer metricsNDepend 编写Code Queries and Rules over LINQ queries (CQLinq) 的能力将满足您的所有需求。例如:

WMC 每个类的加权方法

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 }

DIT 继承树的深度

warnif count > 0 
from t in JustMyCode.Types 
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()
where baseClasses.Count() >= 5
select new { t, baseClasses, 
                // The metric value DepthOfInheritance takes account
                // of third-party base classes
                t.DepthOfInheritance 
}

NOC孩子的数量

from t in Types 
where t.IsClass
let childClasses = t.DerivedTypes
where childClasses.Count() > 0
orderby childClasses.Count() descending 
select new { t, childClasses }

CBO对象类之间的耦合

from t in Application.Types 
let typesUsed = t.TypesUsed.ExceptThirdParty()
orderby typesUsed.Count() descending 
select new { t, typesUsed }

等等……

【讨论】:

    【解决方案2】:

    NDepend 在 CQL 中是否有直接测量 RFC (RFT) 的方法?或者我们是否必须为我们自己使用的类(类型)中的递归计数调用方法编写一个 CQL 查询?如果有,它是什么样子的?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 2012-03-08
      • 1970-01-01
      • 2011-01-15
      • 2014-05-02
      相关资源
      最近更新 更多