Le pire ennemi du développeur a toujours été le copier/coller !
On s’en rend rapidement compte avec l’âge et l’expérience (surtout)
C’est un réflexe malheureux (et souvent naturel) qui nous permet de penser, sur le coup, que l’on va gagner du temps en allant recopier ce fantastique code que l’on a déjà tapé, soit dans le même script soit dans un autre.
Sauf que dans 100% des cas cela entraine plusieurs conséquences :
1/ Le code est dupliqué ! De fait …
2/ S’il est bugé ca ne fait que rajouter d’autres bugs
3/ Dans bien des cas il n’est pas adapté à la situation courante
Mais qu’est ce que c’est pratique d’éviter de repenser
On a beau se forcer à tout faire pour éviter cette situation, il reste quasiment toujours du code dupliqué.
phpCpd (qui s’installe depuis un channel Pear) permet, même sous Windows, de scanner un répertoire et d’y trouver le code dupliqué.
Je viens de l’essayer sur l’un de mes projets, Olédrion, et sur les 157 120 lignes de code il a trouvé 2% de lignes dupliquées dont facilement 90% de lignes en provenance de Tcpdf (donc extérieures à mon code).
Je suis content parce que c’est vraiment pratique (et mon cher IDE ne le fait pas, du moins à ma connaissance), ca marche tout seul et les résultats sont concluants.
Les plus … forts (?) vous diront qu’on ne devrait pas avoir à utiliser ce genre d’outils (car un”bon” développeur ne devrait pas faire de copier/coller) mais nous ne sommes que des hommes et c’est d’autant plus difficile de détecter du code dupliqué sur des projets collaboratifs. Et si nous étions si bons que cela, les tests unitaires ne devraient pas non plus exister
Je vous passe l’adresse du projet :
http://github.com/sebastianbergmann/phpcpd/tree/master
Reste à voir jusqu’à quel point le projet est en mesure de détecter du code effectivement dupliqué.
Articles connexes :
- Un excellent livre blanc sur les frameworks Php ...
- LINQ for PHP (Language Integrated Query for PHP) ...
- Comment utiliser une version locale de l’aide Php en français dans Eclipse PDT (et Zend Studio) ...
- Utiliser Eclipse PDT (ou Zend Studio) sur des projets Php sans “polluer” le répertoire du site avec les fichiers d’Eclipse ...
- Forum PHP 2008. ...
321 vue(s)
