Sans Écho de Code -- le concept de développement DRY

lundi 6 décembre 2004 :: perrick :: PHP :: 5 commentaires :: aucun trackback

Le développeur PHP commence par du code procédurale, puis ajoute des fonctions avant de découvrir la programmation objet et le sommet de son art : les design patterns. Pour désacraliser cette notion, je tente une traduction : les motifs de conception. Plutôt qu'une recette ésotérique qui marcherait à tous les coups, cette traduction permet peut-être d'y voir plus clair : structure, figure ornémentale, le plus souvent répétée. Très utile pour communiquer, très avantageux pour parler de son code à un tiers, très profitable pour étudier la programmation. Moins efficace pour le développement. (Note : je différencie volontairement programmation et développement).

Si la différence n'est pas au niveau de la programmation objet et de son cortège de motifs de conception (on a fait et on fera encore beaucoup de code avec de simples fonctions), comment distinguer le code performant d'un code détestable ? La réponse est d'abord dans un principe simple : pas de duplication. En anglais ça donne DRY (Don't Repeat Yourself). Restait à trouver un jeu de mot suffisamment riche sur SEC : je propose Sans Écho de Code.

Un petit test... Demandez à vos lignes de PHP : lesquelles parmi vous doivent être modifiées pour changer ce menu de navigation ? La ligne 58 du fichier menu.php vous répond : Ici. Puis la ligne 121 de show_menu.php enchaîne : Ici. Puis au tour des lignes 345 et 570 dans show_template.php : Ici... Ici. Si à chaque question comme celle-là, votre code vous renvoie en écho plusieurs fois ici, c'est que vous avez un problème beaucoup plus urgent que la programmation objet ou les motifs de conception. Rien que les fonctions include et require font souvent des miracles : un remaniement -- ou refactoring en anglais -- commence par là. Après plusieurs de ces étapes (avec un code qui marche toujours, bien sûr) le motif adéquat vient tout seul !

L'autre différence s'appelle les tests unitaires... Mais ça c'est une autre histoire. Dès que la traduction de ce tutorial est bouclée, on en reparlera.

PS : si vous avez d'autres propositions pour SEC, je suis preneur !

Vos commentaires et/ou trackbacks

Le lundi 6 décembre 2004 à 19:09, commentaire par Jérémie :: #

DRY "Don't repeat Yourself" en anglais, c'est toujours plus évocateur que "Sans echo de code" il me semble.

Pour franciser absolument, peut-être NRJ "Ne te répète jamais" ?

Le mardi 7 décembre 2004 à 09:12, commentaire par perrick :: site :: #

C'est vrai que c'est dur de traduire à la fois le jeu de mot et la notion derrière. Je reviendrai une prochaine fois sur le pourquoi de ce "echo" qui me tient tant à coeur.

Le samedi 11 décembre 2004 à 20:42, commentaire par sylozof :: #

J'aime bien "sans écho de code", ça sonne bien et l'image de l'écho est bien trouvée.

Le vendredi 7 janvier 2005 à 17:02, commentaire par pascaltje :: site :: #

je propose:
Sans Explosion de Code
Sans Eparpillement de Code
Sans Erreurs en Cascade

Le vendredi 7 janvier 2005 à 17:06, commentaire par perrick :: site :: #

J'aime assez bien "Sans Eparpillement de Code". Merci pour la proposition !

Ajouter un commentaire

Les commentaires pour ce billet sont fermés.