1

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

请帮助并说出如何去做......也许一些提示,文件或一些非常重要的东西......

4

2 回答 2

1

好的,所以如果我们谈论这些 Chidamber Kemerer 指标NDepend编写代码查询和 LINQ 查询规则 (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 }

等等...

于 2010-12-21T09:40:52.377 回答
0

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

于 2014-03-24T18:10:27.740 回答