WEB-d Développement Web

PHP, SQL, HTML5, CSS3, Javascript, Mootools, Référencement, SEO, CMS, e-commerce, Apache, Linux, Ubuntu, ...

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.

http://phpmd.org/

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!

Articles similaires