Code Metrics [1]

Come annunciato qualche giorno fa, ho iniziato la scrittura di una libreria estendibile per calcolare "code metrics". Se qualcuno fosse interessato alle motivazioni le trova qui. Sono arrivato al punto in cui il motore comincia a produrre qualche numero

Analyzer az = new Analyzer();
az.AddAssemblyFile(root + @"A\bin\Debug\A.dll");
az.AddAssemblyFile(root + @"B\bin\Debug\B.dll");

Analysis a = az.Generate(
new InstabilityAssemblyDependenciesWalker());

AssemblyDescriptor ad = a.Scan.FindAssemblyDescriptor("[A]");
Assert.IsNotNull(ad);
double i = ad.DescriptorCounters["Instability"];
Assert.AreEqual(0.75, i);

ad = a.Scan.FindAssemblyDescriptor("[B]");
Assert.IsNotNull(ad);
i = ad.DescriptorCounters["Instability"];
Assert.AreEqual(1, i);

E' possibile scrivere dei "visitor" esterni che navigano i grafi generati dall'analisi ed effettuano i loro calcoli. Nell'esempietto il "walker" InstabilityAssemblyDependenciesWalker utilizza un paio di visitor per il calcolo della metrica afferent coupling (Ca) e di quella efferent coupling (Ce), da cui poi ricava la metrica instability. Le definizioni delle suddette metriche si possono trovare per esempio qui.

Quando avrò un paio di metriche sensate cercherò di scrivere un modulo consumatore in grado di generare reportistica xml, e poi metterò il tutto su Codeplex. Il nome non l'ho ancora deciso, ho qualche idea ma non sono ancora convinto

powered by IMHO 1.3

posted @ Thursday, January 18, 2007 11:12 PM

Print

Comments on this entry:

# re: Code Metrics [1]

Left by Gian Maria at 1/19/2007 10:04 AM
Gravatar
Mi piace, indubbiamente bisognerà poi trovare il modo di far mangiare il tuo risultato dal cruise control .net, sarebbe decisamente carino :P

Facci sapere quando hosterai il progetto su codeplex.

Gian Maria

# re: Code Metrics [1]

Left by Wasp at 1/19/2007 10:09 AM
Gravatar
Assolutamente d'accordo, il mio obiettivo è usarlo in continuous integration, vorrei arrivare a costruire dei task NAnt in grado di pilotarlo. Vi faccio sapere :)

# hack deer Hunter 2014

Left by hack deer Hunter 2014 at 9/17/2014 2:00 PM
Gravatar
Code Metrics [1]

# Amoxicillin For Pink Eye Ellalcofs

Left by Ellrorn at 6/8/2018 5:02 AM
Gravatar
Levitra 10mg Occasion Stendra 200 Mg Cheap [url=http://brandciali.com]cheap cialis[/url] Viagra E Cialis Contemporaneamente

Your comment:



 (will not be displayed)


 
 
 
Please add 3 and 1 and type the answer here:
 

Live Comment Preview: