Les énumérations dans ce contexte sont un piège à ... euh... on va dire un PAC.
Le problème, c'est qu'au fur et à mesure que tu enrichiras ton appli et que tu la maintiendras, tu voudras sans cesse rajouter de nouvelles valeurs à l'énuméré et donc ... recompiler l'intégralité de ton projet. Quand la recompilation complète prend déjà une heure et demi, autant dire que ce n'est pas une bonne approche.
Les deux véritables choix que je vois sont :
- des identifiants (des chaines)
- le message en dur dans le code.
L'avantage du message en dur, c'est que tu vois tout dessuite ce que tu as voulu écrire. Et que c'est directement éditable.
L'avantage de l'identifiant, c'est que c'est le moyen le plus simple pour gérer la localisation (un fichier de messages par langue (français, coréen, ...)). Il y a même moyen avec des trucs comme boost.format de spécifier des ordres pour d'éventuels paramètres. C'est aussi pratique pour passer le fichier à quelqu'un qui saura corriger les fautes d'orthographe et autre.
Par contre, c'est lourd à utiliser.
- difficile de se souvenir de l'identifiant que l'on veut utiliser (surtout quand il a un encodage à la noix et un numéro pour encore plus faciliter les choses
)
- Pénible à maintenir. "Tient, j'ai un message d'erreur ici. Mais qu'est-ce qu'il dit ? Ou il est le fichier ? C'est quel paramètre qui aurait dû être mis en premier ?"
Autant dire que c'est la solution la plus proffessionnelle.
Heureusement, avec un environnement de dev intelligent, il y a moyen de s'en sortir.
Partager