2010-10-26 6 views
8

Sto cercando di raccogliere le metriche del codice software nel mio progetto Java su ogni ciclo di integrazione continua. Mi interesso principalmente delle metriche relative alle dimensioni come numero di classi, numero di metodi, punti di funzione, linee di codice, ecc. Vorrei ottenere un rapporto di riepilogo con queste metriche in qualche file XML. Più tardi lo userò nella relazione di progetto, o in qualche altro modo.Esiste un raccoglitore di metriche automatizzato per il mio progetto Java?

Esiste uno strumento open source gratuito che posso integrare con Maven per questo scopo?

+0

Punti funzionali? Buona fortuna con l'automazione di questo! http://en.wikipedia.org/wiki/Function_point –

+0

Apparentemente la comunità delle metriche del software può calcolare punti funzione dalle metriche del codice mediante il cosiddetto "backfiring", praticamente moltiplicando per un fattore costante che mette empiricamente in relazione i valori della metrica del codice con i punti funzione. Controlla il libro di Capers Jones: Misura del software applicato http://www.amazon.com/gp/product/0071502440/ref=oss_product –

risposta

7

Una buona opzione è Sonar.

Il suo scopo principale è gestire il debito tecnico, quindi fa un sacco di cose che non ti servono, ma fornisce metriche davvero buone.

È possibile integrarlo con Hudson o qualsiasi altro sistema di integrazione continua in uso.

+0

+1 Hudson supporta Maven, che ha un plug-in Sonar. La rende banale far sì che Hudson esegua un'analisi del sonar ogni notte. – Qwerky

+0

Non solo di notte, è possibile eseguirlo su ogni commit. È così che lo usiamo e funziona alla grande. –

+0

Il lato negativo è che "Server Sonar" deve essere attivo e funzionante .. – yegor256

4

Dai uno sguardo allo javancss-maven-plugin.

JavaNCSS è una suite di misura sorgente per Java che produce i parametri di quantità & per il codice sorgente Java.

Questo plug-in fornisce la possibilità di eseguire lo strumento JavaNCSS sulle origini del progetto Maven 2 e di generare un rapporto html. Opzionalmente puoi fallire la compilazione ogni volta che una delle metriche supera un limite fisso.

+2

NCSS sta per "Non commentare le dichiarazioni di origine". Mi ci è voluto un po 'per capire :) – dogbane

+0

JavaNCSS è un vecchio strumento che non gestisce correttamente la sintassi introdotta da Java 1.5. 'Sonar' è un'alternativa decisamente migliore, e dal 1.9 raggruppa il proprio * strumento simile a JavaNCSS, chiamato' Sonar Squid'. – romaintaz

+0

@romaintaz Sonar è eccellente ma non sono sicuro che tu abbia ragione su JavaNCSS: [la home page] (http://www.kclee.de/clemens/java/javancss/) elenca il supporto per la sintassi 1.5/generics. –

1

Lancio in XRadar che fornisce funzionalità simili a Sonar.

Problemi correlati