2010-12-20 78 views
0

我有學校的項目。現在我需要從中獲得所有指標CK(Chidamber Kemerer指標)的報告。報告必須像所有這些指標的表格一樣。問題是如何使它從Ndepend生成它的這個報告不是我正在尋找的。C#項目與Ndepend的CK指標

請幫幫忙,並說該怎麼辦呢......也許一些提示,文件或東西,這是非常重要的......

+0

許多工具支持許多指標,幾乎沒有支持原始論文中定義的指標...... – 2011-02-01 20:21:58

回答

0

好了,如果我們談論的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 } 

等等之間的耦合...

0

NDepend的確實有CQL直接的方法來衡量RFC(RFT)?或者我們是否必須編寫一個CQL查詢來遞歸計數被調用的方法在使用的類(類型)我們自己?如果是這樣,它是怎樣的?