Evaluer la qualité de code avec PHP Mess Detector
PHP Mess Detector (PHPMD) permet d'évaluer la qualité de code source PHP. Il détecte les variables et les méthodes non-utilisées, les noms de variable trop court ou trop long, les méthodes trop complexes, etc.
Installation
PHPMD s'installe grâce à PEAR. Donc, sur Ubuntu il faut d'abord installer PEAR :
sudo apt-get install php5-dev
sudo apt-get install php-pear
On peut ensuite installer PHPMD proprement dit :
sudo pear channel-discover pear.phpmd.org
sudo pear channel-discover pear.pdepend.org
sudo pear install --alldeps phpmd/PHP_PMD
Utilisation
La commande à utiliser pour tester une application est :
phpmd répertoire_à_tester format_de_sortie rulesets
Il existe 3 formats de sortie : text, html ou xml.
Les règles utilisées pour les tests sont rassemblées en 4 rulesets : codesize, unusedcode, naming et design.
Par exemple :
phpmd /var/www/application_complexe text codesize,unusedcode,naming,design
/var/www/my_app/index.php:67 The function jump() contains an exit expression.
/var/www/my_app/index.php:135 Constant administration should be defined in uppercase.
/var/www/my_app/index.php:200 Avoid unused local variables such as $head.
/var/www/my_app/index.php:294 Avoid variables with short names like $s.
Résultats
Les résultats sont généralement suffisament explicites, à part la Cyclomatic Complexity et la NPath Complexity.
La Cyclomatic Complexity compte le nombre de 'if', 'while', 'for' et 'case' présents dans une fonction. Une valeur supérieure à 10 est considérée comme très complexe!
Très proche, la NPath Complexity compte le nombre total de chemins d'exécution possibles à travers une fonction. Une valeur de 200 est généralement la limite à ne pas dépasser!