2010-10-26 17 views
8

Estoy tratando de recopilar métricas de código de software en mi proyecto Java en cada ciclo de integración continua. Me interesan principalmente las métricas relacionadas con el tamaño, como el número de clases, el número de métodos, los puntos de función, las líneas de código, etc. Me gustaría obtener un informe de resumen con estas métricas en algún archivo XML. Más tarde lo usaré en el informe del proyecto, o de alguna otra manera.¿Hay algún recopilador de métricas automatizado para mi proyecto Java?

¿Existe alguna herramienta gratuita de código abierto que pueda integrar con Maven para este fin?

+0

Puntos de la función? ¡Buena suerte con la automatización de eso! http://en.wikipedia.org/wiki/Function_point –

+0

Aparentemente, la comunidad de métricas de software puede calcular puntos de función a partir de métricas de código mediante el llamado "backfiring", que básicamente se multiplica por un factor constante que relaciona empíricamente valores de métricas de código con puntos de función. Consulte el libro de Capers Jones: Applied Software Measurement http://www.amazon.com/gp/product/0071502440/ref=oss_product –

Respuesta

7

Una buena opción es Sonar.

Su objetivo principal es administrar la deuda técnica, por lo que hace muchas cosas que no necesita, pero proporciona métricas realmente buenas.

Puede integrarlo con Hudson o con cualquier otro sistema de integración continua que esté utilizando.

+0

+1 Hudson es compatible con Maven, que tiene un plugin de Sonar. Hace que sea trivial hacer que Hudson ejecute un análisis de sonar todas las noches. – Qwerky

+0

No solo todas las noches, puede hacer que se ejecute en cada confirmación. Así es como lo usamos y funciona muy bien. –

+0

El lado negativo es que "Servidor Sonar" tiene que estar en funcionamiento ... – yegor256

4

Eche un vistazo a javancss-maven-plugin.

JavaNCSS es una suite de medición fuente para Java que produce la cantidad & métricas de complejidad para su código fuente de Java.

Este complemento proporciona la capacidad de ejecutar la herramienta JavaNCSS en los orígenes de proyectos de Maven 2 y generar un informe html. Opcionalmente, puede fallar la compilación siempre que una de las métricas vaya más allá de un límite fijo.

+2

NCSS significa "Declaraciones de fuente que no comentan". Me llevó un tiempo entrenar :) – dogbane

+0

JavaNCSS es una herramienta antigua que no maneja correctamente la sintaxis introducida por Java 1.5. 'Sonar' es una alternativa mucho mejor, y desde 1.9 incluye su propia herramienta * JavaNCSS-like *, llamada' Sonar Squid'. – romaintaz

+0

@romaintaz Sonar es excelente, pero no estoy seguro de que tenga razón acerca de JavaNCSS: [la página de inicio] (http://www.kclee.de/clemens/java/javancss/) enumera el soporte para la sintaxis de 1.5/genéricos. –

1

Voy a tirar XRadar que proporciona una funcionalidad similar a Sonar.

Cuestiones relacionadas