Una herramienta, que reúne estadísticas bastante específicas es Testability Explorer. Opera en código de bytes Java, proporcionando estadísticas de complejidad ciclomática, estado global variable y algunas otras cosas. Es gratis y de código abierto bajo la licencia de Apache 2.0.
Como dije, es un nicho muy específico, y probablemente no proporcione parámetros que sean tan fáciles de relacionar como LOC. Sin embargo, lo interesante es que podría comparar los proyectos en los que lo ejecuta contra several well known open-source projects. Esto quizás haga que los resultados sean más útiles.
Otra herramienta que utilicé recientemente es SLOCCount. Es una herramienta de línea de comandos diseñada para proporcionar estadísticas para muchos idiomas diferentes, incluido Java. Después de no poder ejecutar JavaNCSS en una gran base de código (se quejó de demasiados archivos) obtuve esta herramienta sin problemas, para una base de código muy grande (IntelliJ IDEA). Una buena característica es que requiere muy poca configurabilidad, ni siquiera tuve que pedirle que buscara archivos *.java
, reconoció diferentes idiomas automáticamente e informó sobre ellos.
La desventaja de SLOCCount es que si está ejecutando Windows, deberá usar Cygwin para ejecutarlo.
Esta herramienta es excesiva para resolver el problema de OP. Si desea instalar una aplicación web de 3 niveles en su máquina de desarrollo, que se basa en una segunda herramienta para realizar el análisis real, y jugar con al menos dos archivos de configuración, continúe. Si simplemente desea que una herramienta le proporcione los tres criterios OP enumerados (¡y más!) En 60 segundos, consulte la respuesta de Marcelo. – Nilzor
@Nilzor No estoy de acuerdo. Sonar es realmente simple de usar. Solo descarga el zip, inícialo y ejecuta un análisis. Por supuesto, proporciona mucha información, muchas más que las que OP solicitó. En cuanto a las herramientas sugeridas por Marcelo, me temo que son demasiado viejas y es posible que no puedan analizar correctamente el código Java 1.5+ (que ocurre con la herramienta JavaNCSS, que no fue compatible con Java 1.5 durante mucho tiempo) – romaintaz