Articles

Quel type choisir ?

Généralement, lors des développements on ne se pose pas beaucoup de questions sur le type à choisir pour un champ d’une classe, et parfois on choisit des types passe-partout comme les chaînes de caractères mais est-ce que c’est le bon choix à faire ? On peut se convaincre qu’on a fait un choix judicieux, mais est-ce que le type choisit est le type idéal ? Un mauvais choix peut conduire à un code pollué et à des problèmes de maintenances et parfois à des soucis de performance. Considérons le bout de code suivant : // La date minimale private String dateMin ; // … // L’âge de la personne private String age ; // … // Indique si l’état est valide private int valide ; Le premier champ est une date sous forme d’une chaîne, si on veut exploiter cette donnée il faudrait nécessairement la convertir en utilisant un pattern, donc une donnée est manquante, de plus si la date est internationalisée il faut la convertir avec le pattern correspondant à la locale adé

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 : // 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. Si ce pattern est utilisé avec des String c’est encore pire, parce que lors des comparaisons on aura à co