Comment écrire de fantastiques variables ?

Article rédigé par

Benjamin_Avatar
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.

Avatar BJA article blog

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 ! 😉

Articles qui pourraient vous plaire

Suivez-nous sur les réseaux sociaux

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *