S’il fallait garder une seule discipline en programmation, je garderais celle-là : prendre le temps de bien nommer. Pas pour faire joli. Parce que le nom est la seule documentation qu’on ne peut pas oublier de mettre à jour.
On lit le code bien plus qu’on ne l’écrit
J’écris une fonction une fois. Je la relis dix fois, et d’autres la reliront encore. Un nom obscur fait payer cet impôt à chaque lecture.
// avant
function p(d) { return d.filter(x => x.a > 0); }
// après
function comptesActifs(comptes) {
return comptes.filter((compte) => compte.solde > 0);
}
Le second n’est pas plus malin. Il dit simplement ce qu’il fait.
Trois règles que je m’applique
- Le nom porte l’intention, pas l’implémentation.
comptesActifs, plutôt quefiltreSolde. - La longueur suit la portée. Une variable de boucle locale peut s’appeler
i. Une valeur qui traverse tout un module mérite un vrai nom. - Un nom difficile à trouver signale un concept encore flou. La difficulté à nommer est une information, pas un détail.
Ce que la recherche du nom m’apprend
Chercher le bon nom m’oblige à comprendre ce que je fais vraiment. Souvent, c’est en cherchant le nom que je découvre que mon idée tenait encore mal. Nommer, c’est penser deux fois.