Existe-t-il une recommandation "officielle" sur la façon de nommer les énumérations Java?
enum Protocol { HTTP, HTTPS, FTP }
ou
enum Protocols { HTTP, HTTPS, FTP }
Je sais que dans le monde .Net, la recommandation est d'utiliser le singulier sauf pour les énumérations qui représentent des indicateurs de bits. Juste curieux de savoir s'il y a quelque chose de similaire en Java.
Une question connexe qui semble être spécifique à .Net: singulier ou pluriel pour les énumérations?
java
enums
naming-conventions
friederbluemle
la source
la source
Réponses:
Les énumérations en Java (et probablement les énumérations en général) doivent être au singulier. L'idée est que vous ne sélectionnez pas plusieurs protocoles, mais plutôt un protocole parmi les choix possibles dans la liste de valeurs.
Notez l'absence de pluriel: http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
la source
DAYS
,HOURS
...De la même manière que lorsque vous définissez un nom de table dans une base de données ou une classe en Java, vous utilisez le singulier pour les énumérations, c'est également la meilleure option. Voyez simplement comment vous allez l'utiliser.
Écrivons un exemple:
Au singulier, vous voyez clairement l'attribut intention de la journée. «jour» c'est le jour de la semaine où ce rendez-vous aura lieu. Sinon, la signature de la méthode aurait été définieDay (Days day) et à coup sûr beaucoup de gens se demanderont si le rendez-vous pourrait avoir lieu dans plus d'un jour.
Si vous travaillez dans une entreprise qui a des quarts de travail de 48 heures, vous pouvez essayer de définir quelque chose comme:
De cette façon, vous pouvez définir les jours où vous allez travailler. Mais cela aura toujours l'air bizarre et il y a une meilleure option et utiliser la forme singulière:
Maintenant, vous montrez vraiment la signification de l'énumération. Habituellement, dans n'importe quel domaine, vous trouverez que l'utilisation du singulier pour une énumération est la meilleure option car chaque constante de l'énumération n'est qu'un élément.
Vous mentionnez également .NET. Une énumération «flags» dans .NET signifie simplement que lorsque vous attendez cette énumération comme paramètre, vous obtenez réellement une liste d'éléments de cette énumération (stockée sous forme d'entier).
Vous pouvez faire la même chose en Java, mais l'énumération sera toujours singulière:
Un moyen plus facile et plus clair (bien que cela utilise plus de mémoire) pour faire cela avec Java est simplement d'utiliser une liste.
la source