• Accueil
  • À propos
  • THE Rename
  • UnzipThemAll
  • Fontview
Blue Orange Green Pink Purple

phpCpd, détecter du code dupliqué en Php

Posté dans Les bons outils le Dimanche 12 avril 2009 par Hervé Tags: olédrion, php, zend studio for eclipse
avr 12

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 :

  1. Un excellent livre blanc sur les frameworks Php ...
  2. LINQ for PHP (Language Integrated Query for PHP) ...
  3. Comment utiliser une version locale de l’aide Php en français dans Eclipse PDT (et Zend Studio) ...
  4. Utiliser Eclipse PDT (ou Zend Studio) sur des projets Php sans “polluer” le répertoire du site avec les fichiers d’Eclipse ...
  5. Forum PHP 2008. ...


321 vue(s)

Faire une réponse

Hervé

  • Si vous souhaitez m'encourager, vous pouvez faire un don
    Vous pouvez aussi consulter ma liste de cadeaux sur Amazon
  • Catégories
    • Critique de livre
    • développement web
    • Le fait du jour
    • Lectures
    • Les beaux trucs
    • Les bons outils
    • Non classé
    • Photo du jour
  • Recherche


  • Liens amis
    • Tony (Le Pro des Robots)
    • Agence Artistique
    • Famille Recomposée
    • Bio : le guide
    • Annuaire Spectacles




  • Accueil
  • À propos
  • THE Rename
  • UnzipThemAll
  • Fontview

© Copyright Hervé. Tous droits réservés.
Designed by FTL Wordpress Themes brought to you by Smashing Magazine

Aller en haut