Eclipse Plugin
CodeCity

Beim letzten SENS Networking hat ein Kollege (http://www.systect.de/sowaca.html) ein cooles Plugin für Eclipse vorgestellt, mit dem man seinen Code richtig schön sichtbar machen kann.
Bei der Visualisierung werden verschiedene Metriken herangezogen, von der Anzahl der Codezeilen, über Methoden und deklarieten Feldern bis hin doppelten Codezeilen oder zyklomatische Komplexität. In der Darstellung werden dann Packagestruktur als Fundamente und die Klassen als in die Höhe ragende Balken dargestellt. Dadurch entsteht tatsächlich der Effekt einer Stadt.

Zur Demonstration habe ich einfach mal eines unserer Projekte genommen. Das Bild oben zeigt doppelten Code. Man sieht deutlich, dass in einem Package besonders viele Klassen sind, die viele Code-Dopplungen enthalten.

Wechselt man die Darstellung mittels den Dropdowns in der rechten Seite, dann ändern sich auch die Hochhäuser. Im folgenden Bild sehen wir die Darstellung aus der Sicht der „Anzahl referenzierter Typen“.

2016-01-24

Das Farbschema signalisiert dabei besonders aus der Rolle fallenden Code: Je grüner, desto besser, die roten Häuser sind die, mit den häufigsten Vorkommnissen.

Die Interpretation der Werte ist dabei wichtig.
Zum einen werden die höchsten Werte automatisch eher rötlich dargestellt. Dabei darf nicht vergessen werden, dass die Bewertung relativ erfolgt. Also, wenn ein Projekt ohnehin aus Klassen mit viel Codezeilen besteht, werden 1000 Zeilen eher grün dargestellt als in einem Projekt, welches überwiegend aus kleinen Klassen besteht – und eine exorbitant heraussticht.
Zum anderen können Begebenheiten es nötig machen, dass Code doppelt oder viele Typen referenziert werden. Beides wäre also zu hinterfragen.

2016-01-24 (4)

Auf jeden Fall ist dieses Plugin eine tolle Hilfe, um sich einen Überblick über das Innenleben eines Projektes zu machen und gezielt an auffälligen Ecken einzutauchen.

Natürlich eignet es sich auch hervorragend, um ein Projekt für Nicht-Tekkies zu visualisieren. Etwaige Problemzonen werden dann auch schnell dem Management bewusst und greifbarer.

Neben Codemetriken kann man auch Anzahl der Autoren, Commits oder Bugfixes darstellen.

Viele Worte, was soll ich sagen, probier es einfach selber aus, hier gehts direkt zum Eclipse Marketplace.

 

 

Abschließend hier noch ein Video, das vom Ersteller des Plugins auf YouTube veröffentlicht wurde.