Chameau vs Serpent

Au départ, le besoin est simple. Un programme est un ensemble d’instructions qui manipulent des informations. Ces informations sont stockées dans des variables et utilisées dans des fonctions. Si on excepte les mots clés spécifiques au langage, le reste du code est défini par le programmeur.

Le besoin est le suivant : comment nommer les variables et les fonctions ? Au début de l’informatique, l’espace de stockage est limité. Les noms courts sont préférés. Dans le meilleur des cas, les variables sont notées par des lettres : A, B, C, … Si vous reprenez un code plus tard, bon courage pour savoir ce que doit contenir la variable A.

De nos jours, l’espace n’est plus un problème. Donc, à part pour écrire une fonction mathématique, cette proto-convention n’est plus utilisée. Le code informatique doit être compréhensible afin de simplifier sa maintenance. Pour distinguer le nom d’un client dans un programme nomClient est plus parlant que N.

Sauf qu’en écrivant cela j’applique une convention nommée camelCase. Chaque mot qui compose le nom de la variable est écrit sans espace et les mots suivants commencent avec une majuscule. 

Mais d’autres développeurs préféreront une autre convention nommée snake_case. Pour notre exemple, la variable se nommera nom_client. La convention est plus lisible. Deux pratiques pour un besoin. Cela crée un schisme.  

Imaginez que vous deviez maintenir le code écrit précédemment par un développeur de la caste camelCase. Allez-vous renommer toutes les variables et fonctions pour correspondre à vos pratiques ? 

  • 1. Non, vous vous adaptez et appliquez sa convention. 
  • 2. Non, mais tout votre code respectera la convention snake_case.
  • 3. Oui, si çà compile, çà marche.

La bonne réponse est le choix 1. Utiliser 2 conventions dans un même programme est une plaie pour le développeur suivant. Et ne parlons pas du choix 3 qui peut être valable pour un programme court, ce qui est très rarement le cas et peut entraîner des régressions.

Il existe d’autres conventions de nommage dans les programmes informatiques. Elles sont utilisées pour distinguer d’autres éléments d’un programme. 

Ainsi les constantes sont traditionnellement nommées en UPPER_CASE. Tout est en majuscule et un ‘_’ (tiret du bas ou underscore) sépare les mots. 

Pour nommer un fichier, si le snake_case est utilisé, il est parfois remplacé par le kebab-case. Ici le ‘_’ est remplacé par un ‘-’. Le moins est interprété comme un séparateur de mots par défaut. Double-cliquez sur un élément nommé dans cette convention et vous sélectionnerez uniquement la partie avant ou après le ‘-’. 

Une dernière convention est le PascalCase. Il s’agit d’un camelCase dont la première lettre est une majuscule. Elle est utilisée uniquement pour nommer les classes (un regroupement logique de variables et de fonctions).

Les conventions permettent de normaliser les programmes. Ainsi, un développeur qui reprend le travail d’un autre aura des repères pour comprendre la logique du programme. Autrement, cela devient un cauchemar

Sauf que le chameau et le serpent ont décidé de s’adresser aux mêmes ressources (variables et fonctions). Et certains développeurs peuvent se montrer très sectaires. Alors ne mélangez pas les conventions. 

Partager l'article !!

J’ai de la chance !!!