¿Hay una recomendación "oficial" de cómo nombrar enumeraciones Java?
enum Protocol { HTTP, HTTPS, FTP }
o
enum Protocols { HTTP, HTTPS, FTP }
Sé que en el mundo .Net la recomendación es usar singular, excepto las enumeraciones que representan banderas de bits. Simplemente curioso si hay algo similar en Java.
Una pregunta relacionada que parece ser específica de .Net: ¿ Singular o plural para enumeraciones?
java
enums
naming-conventions
Friederbluemle
fuente
fuente
Respuestas:
Las enumeraciones en Java (y probablemente las enumeraciones en general) deben ser singulares. La idea es que no está seleccionando múltiples protocolos, sino un protocolo de las posibles opciones en la lista de valores.
Tenga en cuenta la ausencia de plurales: http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
fuente
DAYS
,HOURS
...De la misma manera que cuando define un nombre de tabla en una base de datos o una clase en Java, utiliza singular para enumeraciones, también es la mejor opción. Solo mira cómo lo vas a usar.
Escribamos un ejemplo:
En forma singular, ve claramente la intención del atributo del día. "día" es el día de la semana en que se realizará esta cita. De lo contrario, la firma del método se hubiera establecido Día (Día) y seguramente muchas personas se preguntarán si la cita podría ocurrir en más de un día.
Si trabaja en una empresa que tiene turnos de 48 horas, podría intentar definir algo como:
De esa manera, podría establecer los días que va a trabajar. Pero aún así se verá raro y hay una mejor opción y es usar la forma singular:
Ahora realmente estás mostrando el significado de la enumeración. Por lo general, en cualquier dominio, encontrará que usar singular para una enumeración es la mejor opción, ya que cada constante en la enumeración es solo un elemento.
También mencionas .NET. Una enumeración "flags" en .NET solo significa que cuando espera esa enumeración como parámetro, lo que realmente obtiene es una lista de elementos de esa enumeración (almacenados como un entero).
Podrías hacer lo mismo en Java, pero la enumeración seguirá siendo singular:
Una manera más fácil y clara (aunque usa más memoria) de hacer esto con Java es simplemente usar una Lista.
fuente