La magie des énumérations
Dans la plupart du temps quand je fais des audits de codes, je remarque que beaucoup de développeurs préfèrent des constantes du type :
Cette technique a beaucoup inconvénients :
Heureusement, à partir de la version 1.5, le langage fournit une alternative pour éviter les inconvénient des entiers et des chaines de caractères :
L’utilisation des énumérations apporte beaucoup d’utilité, car elles sont sérialisables, le nom de la constantes est sa valeur ainsi le compilateur s’assurera que nous n’avons rien loupé.
// Constantes : Voitures public static final int VOITURE_ELECTRIQUE = 0; public static final int VOITURE_DIESEL = 1; public static final int VOITURE_ESSENCE = 2; // Constantes : Etats public static final int ETAT_MARCHE = 0; public static final int ETAT_ARRET = 1;
Cette technique a beaucoup inconvénients :
- Il n’y a pas de sécurité, on peut passer un véhicule à une méthode qui attend un état,
- Il faut s’assurer que deux constantes n’ont pas la même valeur, sinon on peut avoir des bogues difficiles à détecter,
- Lors du débogage, on ne voit qu’un nombre et pas une constante parlante,
- Si les valeurs sont utilisées en dur, ils conduiront surement à des problèmes de maintenance et de lisibilité.
- etc.
Heureusement, à partir de la version 1.5, le langage fournit une alternative pour éviter les inconvénient des entiers et des chaines de caractères :
public enum Voiure{ ELECTRIQUE, DIESEL, ESSENCE} public enum Etat{ MARCHE, ARRET }
L’utilisation des énumérations apporte beaucoup d’utilité, car elles sont sérialisables, le nom de la constantes est sa valeur ainsi le compilateur s’assurera que nous n’avons rien loupé.
Commentaires
Enregistrer un commentaire