2010-12-20 5 views
0

Ich habe ein Projekt für die Schule. Jetzt muss ich daraus einen Bericht über alle Metriken CK (Chidamber Kemerer metrics) machen. Der Bericht muss wie eine Tabelle aller dieser Messwerte sein. Frage ist, wie man aus Ndepend diesen Bericht macht, den es erzeugt, ist es nicht, wonach ich suche.CK-Metriken aus C# -Projekt mit Ndepend

Bitte helfen und sagen, wie es zu tun ... vielleicht ein paar Tipps, Dokumente oder das etwas ist sehr wichtig ...

+0

Viele Tools unterstützen viele Metriken, fast keine unterstützt Metriken wie in Originalarbeiten definiert ... –

Antwort

0

Ok, also wenn wir von these Chidamber Kemerer metrics sprechen, die NDepend Fähigkeit Code Queries and Rules over LINQ queries (CQLinq) zu schreiben wird beantworte alle deine Bedürfnisse. Zum Beispiel:

WMC gewichteten Methoden pro Klasse

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 Tiefe Vererbungsbaum

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 Anzahl der Kinder

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

CBO Kopplung zwischen Objektklassen

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

und so weiter ...

0

Does NDepend hat einen direkten Weg in CQL RFC (RFT) zu messen? Oder müssen wir eine CQL-Abfrage für rekursive zählende Methoden in verwendeten Klassen (Typen) selbst schreiben? Wenn ja, wie sieht es aus?

Verwandte Themen