Le nom d'une variable est sa première documentation

Une discipline qui a plus changé mon code que n'importe quelle astuce : prendre le temps de bien nommer.

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

  1. Le nom porte l’intention, pas l’implémentation. comptesActifs, plutôt que filtreSolde.
  2. 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.
  3. 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.