Zur Zeit beschäftige ich mich etwas mit Code Visualisierung und will das hier einfach mal etwas festhalten. Wahrscheinlich kennen die meisten dieses ganze Zeugs schon. Das Thema ist für mich aktuell sehr spannend und so will ich einfach mal anfangen mit der Visualisierung von Python Code und dem Tool Python Call Graph. Rechts sieht man schon mal den ersten Eindruck anhand eines Beispiel Skripts.
Als erstes habe ich das Tool einfach mal installiert und die Application auf Linux übertragen. Ansteuern lässt es sich sehr einfach mit dem folgendem Befehl:
sudo pycallgraph graphviz ./yoda.py
Der Graph ganz unten zeigt ein Hilfs-Tool, welches ohne Architektur und alles anderes als Hilfstool für meinen Job entstanden ist. Im Graph ist ein Auszuzg dargestellt und ich habe einfach mal 2-3 Klicks durchgeführt. Sehr schnell erkennt man, dass z.B. das ALMSystem zwar in eine eigene Datei ausgelagert ist und viele Verweise auf das Hauptprogramm hat, jedoch keine wirkliche Klasse ist und weitere interne Methoden aufruft, die auch wieder zurück zum Main geht. Wenn man ehrlich ist sieht es furchtbar aus! Das müsste man mal dringend überarbeiten – diesen Eindruck hatte ich natürlich zuvor schon. Aber es einmal visualisiert zu sehen überrascht mich dann doch. Es ist quasi auf den ersten Blick erkennbar.
Python Call Graph stellt sich mir mit folgenden Features dar:
- Baum-Struktur des Codes
- farbliche Kennzeichnung
- Verbindungen zwischen Methoden/Klassen/Files usw
- Ausführungshäufigkeit
- Ausführungszeit
Ein erster Anfang ist getan – ich hoffe in den nächsten Tagen mal etwas mehr Beispiel zeigen zu können und werde in den nächsten Wochen versuchen es auch mal beruflich zu etablieren.
Leave a Reply