Um einen groben Überblick über die Codequalität zu erhalten, verwenden wir den PHP Messdetector. Dieser lässt sich per PHP PEAR recht leicht installieren, wie hier beschrieben.
Von der Kommandozeile lässt sich dieser nun recht leicht ausführen (Hier am Beispiel des Usermoduls von Drupal 5). Als erstes die Länge des Codes (codesize)
1 2 3 4 5 6 7 8 | |
Hieran sieht man schön, dass die user_save Funktion alles andere als leicht wartbarer Code ist. Die Cyclomatischen Komplexität von 11, also der Anzahl an möglichen Entscheidungspunkten (if, while, for) innerhalb dieser Funktion ist eindeutig zu hoch.
Neben codesize gibt es noch design, naming und unused innerhalb des Standard-Regelsatzes. Diese sind auf der PHPMD-Seite sehr gut beschrieben.
Die Tests können natürlich keine exakte Aussage machen, ob die Qualität des Codes nun "gut" oder "schlecht" ist, aber sie geben einen sehr guten Anhaltspunkt für mögliche Refaktorisierungen.
Reposted from www.pludoni.de