Ein Werkzeug, das ziemlich Nische Statistiken sammelt, ist Testability Explorer. Es arbeitet mit Java-Byte-Code und liefert Statistiken für zyklomatische Komplexität, veränderbaren globalen Zustand und einige andere Dinge. Es ist kostenlos und Open-Source unter der Apache 2.0-Lizenz.
Wie ich schon sagte, es ist sehr Nische, und wird wahrscheinlich keine Metriken geben, die so leicht zu beziehen sind wie LOC. Interessant ist jedoch, dass Sie die Projekte, in denen Sie sie ausführen, mit several well known open-source projects vergleichen können. Dies würde vielleicht die Ergebnisse nützlicher machen.
Ein anderes Werkzeug, das ich kürzlich verwendete, ist SLOCCount. Es ist ein Befehlszeilentool, das entwickelt wurde, um Statistiken für viele verschiedene Sprachen, einschließlich Java, zu liefern. Nachdem JavaNCSS auf einer großen Codebasis nicht ausgeführt wurde (es klagte über zu viele Dateien), lief dieses Tool für eine sehr große Codebasis (IntelliJ IDEA) problemlos. Ein nettes Feature ist, dass es sehr wenig Konfigurierbarkeit braucht, ich musste es nicht einmal nach *.java
Dateien suchen, es erkannte automatisch verschiedene Sprachen und berichtete über sie.
Der Nachteil von SLOCCount ist, wenn Sie Windows verwenden - Sie müssen Cygwin verwenden, um es auszuführen.
Dieses Tool ist Overkill, um das Problem von OP zu lösen. Wenn Sie eine 3-Tier-Webanwendung auf Ihrem Dev-Computer installieren möchten, die auf ein zweites Tool angewiesen ist, um die eigentliche Analyse durchzuführen, und mit mindestens zwei Konfigurationsdateien experimentieren - dann machen Sie weiter. Wenn Sie einfach ein Tool wünschen, das Ihnen die drei Kriterien, die in 60 Sekunden aufgeführt sind (und mehr!), Gibt, sehen Sie sich die Antwort von Marcelo an. – Nilzor
@Nilzor stimme ich nicht zu. Sonar ist wirklich einfach zu bedienen. Laden Sie einfach die Zip-Datei herunter, starten Sie sie und führen Sie eine Analyse durch. Natürlich bietet es eine Menge Informationen, viel mehr als die, die OP gefragt hat. In Bezug auf die von Marcelo vorgeschlagenen Tools befürchte ich, dass sie zu alt sind und möglicherweise nicht in der Lage sind, Java 1.5+ Code korrekt zu analysieren (das passiert mit dem JavaNCSS Tool, das lange Zeit nicht mit Java 1.5 kompatibel war) – romaintaz