Le choix du nom des variables est quelque chose de très important en programmation, pour vous-même ou pour les autres développeurs, ceux qui passeront après vous sur votre code, dans un futur proche ou plus lointain.
Une des premières bonnes pratiques serait de donner des noms en Anglais, le code est universel, et le but est qu’il soit compris par le plus grand nombre de développeurs qui passera après vous, à court ou long terme.
Les noms doivent révéler les intentions du développeur, choisir ces noms peut prendre un certain temps, mais permettra d’en gagner plus tard, lors d’une revue de code, du débogage, ou encore pour ajouter de nouvelles fonctionnalités.
Il ne faut pas hésiter à changer le nom d’une variable lorsque vous en trouvez un autre, plus explicite, plus simple à comprendre.
Si un nom de variable contient à sa suite un commentaire, c’est qu’il n’est pas clair et compréhensible directement, c’est donc une mauvaise pratique :
int d; // Jour de la semaine
Le nom “d” ne permet pas rapidement de comprendre à quoi correspond cette variable, impossible de savoir à quoi elle sert, il est préférable de privilégier ce genre de noms, plus explicite :
int timeInDays;
int daysSinceCreation;
int daysAfterSubscription;
Même dans un code qui ne comporte pas beaucoup de lignes et qui est théoriquement simple, de mauvais choix de nommage peuvent rendre le code incompréhensible.
Exemple de code avec nommage de variables illisibles :
public List<int[]> get() {
List<int[]> l = new ArrayList<int[]>();
for (int[] x : list)
if (x[0] == 4)
l.add(x);
return l;
C’est pas beau hein ? On ne comprend rien du tout, ce code donne juste envie de retrouver l’auteur et l’insulter (gentiment).
Voyons voir maintenant un code plus explicite et compréhensible :
public List<int[]> getFlaggedCells() {
List<int[]> flaggedCells = new ArrayList<int[]>();
for (int[] cell : boardGame)
if (cell[STATUS_VALUE] == FLAGGED) flaggedCells.add(cell);
return flaggedCells;
}
La simplicité de ce bout de code n’a pas changé, mais sa compréhension a été grandement améliorée.
- Utiliser des noms de variables en Anglais
- Bien nommer les variables, méthodes, classes, permet une meilleure compréhension du code par vous ou par les autres
- Gain de temps quand il faut repasser sur le code
Ping : Comment traiter les NullPointerException en Java
Ping : Explication des Generics en Java