J'ai commencé à vraiment comme aide de C# et Java les énumérations dans mon code pour plusieurs raisons:
- Ils sont beaucoup plus type-safe que des entiers, des chaînes de caractères, ou des ensembles de booléenne drapeaux.
- Ils conduisent à un code plus lisible.
- Il est plus difficile de définir un enum pour une valeur non valide qu'un int ou string.
- Ils le rendent facile à découvrir les valeurs possibles pour une variable ou d'un paramètre.
- Tout ce que j'ai lu indique que tout entiers en C# et la plupart des machines virtuelles.
Cependant, l'Android cadre a de nombreux cas où des drapeaux de différents types doivent être transmis, mais aucune d'entre elles semblent utiliser les énumérations. Un couple d'exemples où je pense leur utilisation serait bénéfique sont Toast.LENGTH_SHORT
/ Toast.LENGTH_LONG
et View.GONE
, View.VISIBLE
, etc.
Pourquoi est-ce? Ne enums effectuer de pire que de simples valeurs entières dans Dalvik? Est-il un autre inconvénient que je ne suis pas au courant?