Sono a caccia di un tool per raccogliere metriche del codice OO.
L'uso che ne devo fare è molto pratico e concreto, consiste nel usare le mertiche per trovare risposte sulla direzione in cui investire energie per raggiungere certi obiettivi ben precisi (es. ridurre i tempi di realizzazione di una evoluzione o di un fix migliorando la comprensibilità del codice, ridurre i bug, semplificare gestione e le build riducendo le dipendenze, ...).
Il contesto in cui questo tool deve essere usato è veloce e molto competitivo, per questo spero di trovare un tool che abbia tulle le qualità ideali:
- integrato a VS.NET e facile da configurare ed usare
- ha una versione a linea di comando per poter lanciare il calcolo delle metriche nella daily build
- produce report flessibili e configurabili
- calcola tutte le metriche OO comunemente usate (Afferent/Efferent coupling, Instability, Abstractness, Distance,
Response, Lack of Cohesion Of Methods, Cyclomatic Complexity, LOC, Depth
Inheritence Tree, Number of parameters, ...)
- è consapevole dei dettagli implementativi di .NET e li gestisce correttamente nel calcolo delle metriche (es. ignora il metodo InitializeComponent di un winforms, ignora namespaces creati dal compilatore per uso interno, ignora il codice ctreato automaticamente da ASP.NET a partire dalla pagina .ASPX, gestisce correttamente delegate/events/enum ... )
Ne ho già provati alcuni (vil e dotEasy) ma nessuno mi ha soddisfatto completamente (per il tipo di uso di cui ho necessità ora). per ora ho raccolto una lista di tool qui: http://wiki.ugidotnet.org/default.aspx/UGIdotNETWiki/MetricheCodice.html. Accetto volentieri segnaklazioni di altri tool o commenti impresioni sui tool di metriche che avete già provato!