
Article rédigé par

Benjamin Jaud
Software Developer
Comment écrire de fantastiques variables ?
S’il y a bien quelque chose qui est de l’ordre du défi quotidien, c’est le nom des variables.
Combien de fois je me suis retrouvé à écrire des someUserButNotAllOfThemFromDatabase ou dataRetrievedByRemoteCallUsingDynamicUrl pour représenter des variables complexes. Ou bien les classiques coucou et toto durant une phase de prototypage. 😅
Cela me fait souvent perdre le fil du code.

1 – Le pourquoi du comment ?
Trouver un nom de variable qui ne perd pas de son sens avec le temps, ou qui ne devient pas une énigme le lundi suivant, prend du temps et de l’énergie.
Je vais parler dans un contexte de développement logiciel ; les conventions, les règles et design pattern sont alors des notions connues. Aussi, les noms des variables que je proposerai en exemple seront en anglais, car je travaille ainsi tous les jours. Si vous avez des techniques pour le français, n’hésitez pas à m’en faire part.
Accrochez-vous ! Promis, vous ne vous perdrez pas en route et à la fin vous aurez, vous aussi, votre propre schéma de construction de nom de variable !
2 - Observation de la composition d'une variable
➡️ De quoi parle-t-on ?
Le sujet d’une variable est sûrement la première question que vous devriez vous poser, et le champ lexical est votre meilleur ami. Un utilisateur peut être : client, technician, administrator dans un contexte de bureau. Pedestrian, walker, hiker, runner pour un utilisateur en mouvement pour une application de remplissage automatique de captcha.
➡️ L'état technique du sujet
Est-il required, awaiting, groupBy, sortBy, poweredby ? Cela peut donner des informations utiles pour se rappeler ce qu’il lui est arrivé.
➡️ La quantité
Mon point de vue personnel est de ne pas utiliser dog et dogs mais oneDog et multipleDogs, cela m’aide à bien les différencier et à garder mon calme lors du débogage.
➡️ L'état non technique du sujet
Optionnel, mais peut apporter une vraie plus-value. Un adjectif comme kind, lost, new, angry donnera un aspect singulier à votre variable.
Exemples :
oneCrazyCatAwaitingFood
multipleRemoteRunnersSortedBySpeed
requiredAdministrativeRules
3 - Les éléments clés d'une fonction
Tout comme les variables, vous allez retrouver un sujet, un état technique, une quantité. Le nouvel élément, c’est l’action de votre fonction, comme un petit commentaire sur ce qu’il se passe à l’intérieur :
- Ça fait quoi ? C’est l’action principale de la function. Est-ce que ça get, display, sort, add, slice, fetch, run, shut, print, launch ?
- De quelle manière cela est-il fait ? La plupart du temps, ce sera un suffixe comme byId, byName, byDate …
- Dans le cas de sources de données multiples, il peut être utile de préciser si cela vient d’une base de données locale, d’un fichier distant, d’une API. Par exemple : fromService, remote, local, database.
- Les functions peuvent avoir des arguments, vous donnant ainsi la possibilité d’ajouter des informations utiles à leurs utilisations.
Exemples :
createNewClient
cleanUpRemoteServiceUrl
addLocalInformationToClient
4 - Le pouvoir des synonymes
Un bon outil qui peut vous accompagner, c’est le dictionnaire des synonymes. Cela ne va pas simplement apporter de la diversité dans votre code, mais aussi du sens dans certaines situations.
Vous devez récupérer quelque chose ? fetch, bring, pull, obtain, retrieve sont des synonymes possibles au fameux get.
Vous recherchez une donnée spécifique ? scout, probe, recon, scan vont même ajouter du contexte technique.
Besoin d’une function de suppression ? destroy, sanitize, eliminate, clean peuvent apporter de la précision sur la manière utilisée pour supprimer.
5 - Trouver une thématique
Le thème est souvent un ingrédient sous-coté du processus de nommage des variables.
Vous êtes en train de construire un générateur aléatoire de portrait de chat ?
createNewPurrtition, launchLitterCollector, ou getMeowInformation peuvent faire en sorte de rendre votre développement unique et parfois même un peu moins redondant.
Exemples :
bringBackLostHikerByPath
cookNewHomemadeRecipe
obtainNoisyDogToy
scanDatasetForUniqueValue
6 - Règles additionnelles
Pas plus de 45 caractères
Eviter d'utiliser des abréviations comme mngmt, db, tmp
Utiliser des noms prononçables
Se débarrasser de la peur inhérente au nommage des variables
7 - Voici venu le temps de l'assemblage
Nous avons pu voir plusieurs composants de variables et de fonctions. Il est maintenant temps d’assembler, de composer et de déterminer votre propre manière de nommer des variables.
L’expérimentation sera à l’honneur et vous vous rendrez vite compte qu’un schéma particulier ne peut pas fonctionner dans tous les cas. Des règles de grammaire, de la logique syntaxique essaierons de mettre à mal vos efforts, ne vous laissez pas décourager et faites-en un support pour vos futurs schémas. Quel que soit le schéma retenu, si vous et vos co-équipiers le comprenez, alors faites en un modèle syntaxique lié à votre code.
À vous de jouer nommer ! 😉