Codevisualisierung mit pfff: PHP Frontend For Fun

Das von facebook stammende Tool soll vor allem eine Hilfe zur Codevisualisierung und beim Refactoring sein. Kennt ihr diese anschaulichen Grafiken, die euren Festplatteninhalt visualisieren und auf vermeintliche Platzfresser aufmerksam machen? Das macht pfff – nur eben auf Sourcecode zugeschnitten.

Was sagt facebook selbst dazu?

pfff is a set of tools and APIs to perform some static analysis, dynamic analysis, code visualizations, code navigations, or style-preserving source-to-source transformations such as refactorings on source code.

Finde ich – ohne es bis jetzt produktiv eingesetzt zu haben – zumindest mal eine nette Spielerei (…was ja auch der Namensbeisatz for Fun andeutet). Eingebaut ist eine sehr feine Möglichkeit, um Code schlau durchsuchen zu können und das Ergebnis zu visualisieren: sgrep. Ein Aufruf sieht dann bspw. so aus:

sgrep -e 'in_array(...) == true' *.php 

Das Ganze ist in einem OCaml Dialekt geschrieben und unterstützt bisher vornehmlich PHP, aber auch Javascript, C, C++, Java, Lisp, Scheme, Haskell, Sql und TeX. Die Github-Seite findet ihr hier – von da habe ich auch die unten folgenden coolen Bilder entnommen.

pfff in Action: Der Quake 3 – Code

pfff in Action: Der OpenOffice – Code

pfff in Action: Linux Kernel 2.6


Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0