Google CodePro Analytix - Metrics
Name
Google CodePro Analytix - Metrics
Homepage
https://developers.google.com/java-dev-tools/codepro/doc/features/metrics/metrics
Lizenz
https://developers.google.com/java-dev-tools/codepro/doc/tos
Untersuchte Version
7.1.0 (letztes Update: 27.03.12)
Letzter Untersuchungszeitpunkt
26.08.12
Kurzbeschreibung
Mithilfe des Tools Metrics aus der CodeAnalytix-Reihe können Quellcodes analysiert und Eigenschaften des Codes dargestellt werden.
Fazit
Das Metrics-Tool von Google ist sehr einfach zu bedienen. Es bietet eine Vielzahl von Möglichkeiten und eine gute Darstellung der Analyse.
Besonders hervorzuheben ist die grafische Darstellung des Tools: Das Metrics-Tool stellt alle Analyse-Ergebnisse in übersichtlichen Diagrammen dar.
Da das Tool lediglich oberflächliche Funktionen bietet (Codelines zählen, Blocktiefe ermitteln) muss man sich als Entwickler fragen, ob ein solches Tool wirklich benötigt wird.
Besonders in kleinen Projekten mit übersichtlichem Code stellt sich die Frage ob der Einsatz des Tools hier sinnvoll ist.
Einsatzgebiete
Das Metrics-Tool kann natürlich in allen erdenklichen Projekten eingesetzt werden. Es bietet sich aber wohl vor allem in größeren Projekten mit viel Quelltext an, um die Übersicht zu behalten.
Einsatzumgebungen
CodePro Analytix ist mit Eclipse ab Version 3.4 kompatibel. Auf der Dokumentationsseite sind zwar nur Downloads bis Eclipse-Version 3.7 (Indigo) angegeben, diese funktioniert aber auch einwandfrei mit der Eclipse-Version 4.2 (Juno).
Installation
Google CodePro Analytix lässt sich recht einfach in Eclipse einbinden.
Es muss lediglich der jeweilige Link (abhängig von der installierten Eclipse-Version) von https://developers.google.com/java-dev-tools/download-codepro ausgewählt und bei Eclipse unter Help -> Install new Software
eingetragen werden (falls Eclipse-Version >3.7: Indigo-Version auswählen). Anschließend ist ein Neustart von Eclipse erforderlich. Google CodePro Analytix ist jetzt einsatzbereit.
Eine Installationsanleitung kann man auf https://developers.google.com/java-dev-tools/codepro/doc/install abrufen.
Dokumentation
Die offizielle Dokumentation ist einfach geschrieben und benutzerfreundlich gestaltet. Auch Benutzer ohne QS-Erfahrung können sich leicht einarbeiten.
Wartung der Projektseite
Das neueste Update der Seite gab es am 27.März 2012. Da es sich um ein Google-Tool handelt, kann man mit bleibender Aktualität rechnen.
Nutzergruppen und Support
Neben den Tutorialseiten gibt es ein Nutzerforum auf welches man bei Fragen zurückgreifen kann.
Intuitive Nutzbarkeit
Außer ein Grundwissen über Eclipse wird nichts weiter benötigt. Das Tool sollte für erfahrene Eclipse-Nutzer auch ohne Dokumentation gut nutzbar sein.
Einführendes Beispiel
Das einfachste Beispiel um sich in das Metrics-Tool einzuarbeiten ist eine Beispiel-Klasse mit einer leeren main-Methode. Schon anhand dieses kleinen Beispiels kann ein Teil der Wirkungsweise des Tools erkannt werden.
public class Metrics_example{
public static void main(String[] args) {
}
}
Mit einem Rechtsklick auf den Code öffnet sich das Kontext-Menü. In diesem Menü muss nun "CodePro Tools" -> "Compute Metric" angeklickt werden
Im unteren Bildschirmbereich erscheint nun das Ergebnis im Metrics-Window:
Im linken Bereich des Metrics-Window befindet sich die sogenannte Metric-Tabelle. In diesem Bereich befinden sich die verschiedenen Analysen. Auf der rechten Seite befindet sich die Ergebnis-Spalte in der das Ergebnis der in der Metric-Tabelle ausgewählten Analyse angezeigt wird.
Detaillierte Beschreibung
Das Metrics-Tool beinhaltet mehrere Analyse-Möglichkeiten. Die Wichtigsten sollen in diesem Abschnitt näher erläutert werden.
-
Abstractness
Zeigt an, wie viel Prozent des zu analysierenden Quellcodes abstrakt sind (Klassen, Methoden).
-
Average Block Depth
Zeigt die durchschnittliche (und die minimale und maximale) Blocktiefe (von zB if-Blöcken) an.
-
Average Cyclomatic Complexity
Zeigt die durchschnittliche (und die minimale und maximale) Blöcke an.
-
Average Lines of Code Per Method
Zeigt die durchschnittliche (und die minimale und maximale) Zeilenlänge der Methoden an.
-
Average Number of Constructors Per Type
Zeigt die durchschnittliche (und die minimale und maximale) Konstrukoranzahl der Klassen an.
-
Average Number of Parameters
Zeigt die durchschnittliche (und die minimale und maximale) Parameterzahl von Methoden an.
Hier zeigt sich nochmals die schöne und übersichtliche Darstellung des Tools. In einem Balkendiagramm werden die Parameter in allen Methoden dargestellt:
-
Comment Ratio
Zeigt den Anteil an Kommentarzeilen in Bezug zu der Gesamtzahl an.
-
Lines of Code
Zeigt die Gesamtzahl der Zeilen an.
Im folgenden Code-Beispiel soll die Wirkungsweise der oben beschriebenen Analyse-Möglichkeiten verdeutlicht werden.
Beispiel:
public class Metrics_example{
Metrics_example(){
System.out.println("Standardkonstruktor");
}
// Testfunktion
void test_func(){
System.out.println("Testfunktion");
}
// Testfunktion mit Parametern
void test_func_w_parameters(int a, int b, int c){
System.out.println("Testfunktion mit Parametern");
}
// Testfunktion mit hoher Blocktiefe
void test_func_w_block_depth(){
int i = 5;
if (i == 5){
if (i == 5){
if (i == 5){
if (i == 5){
System.out.println("Testfunktion");
}
}
}
}
}
// Testfunktion mit vielen verschiedenen Blöcken, niedrige Blocktiefe
void test_func_w_blocks(){
int i = 5;
if (i == 5){
System.out.println("Testfunktion");
}
if (i == 5){
System.out.println("Testfunktion");
}
}
public static void main(String[] args) {
Metrics_example me = new Metrics_example();
me.test_func();
me.test_func_w_parameters(1,2,3);
me.test_func_w_block_depth();
}
}
Zurück zur Werkzeugübersicht
Zurück zur CSI-Hauptseite