Existe uma recomendação "oficial" de como nomear enums de Java?
enum Protocol { HTTP, HTTPS, FTP }
ou
enum Protocols { HTTP, HTTPS, FTP }
Eu sei que no mundo .Net a recomendação é usar o singular, exceto as enumerações que representam sinalizadores de bits. Apenas curioso se há algo semelhante em Java.
Uma questão relacionada que parece ser específica da .Net: Singular ou plural para enumerações?
java
enums
naming-conventions
friederbluemle
fonte
fonte
Respostas:
Enums em Java (e provavelmente enums em geral) devem ser singulares. O pensamento é que você não está selecionando vários protocolos, mas um protocolo das escolhas possíveis na lista de valores.
Observe a ausência de plurais: http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
fonte
DAYS
,HOURS
...Da mesma forma que quando você define um nome de tabela em um banco de dados ou uma classe em Java, você usa singular para enumerações também é a melhor opção. Basta ver como você vai usá-lo.
Vamos escrever um exemplo:
Na forma singular, você vê claramente o atributo intenção do dia. "dia" é o dia da semana em que este compromisso será realizado. Caso contrário, a assinatura do método teria sido definida como Dia (Dias do dia) e, com certeza, muita gente se perguntaria se o compromisso poderia ocorrer em mais de um dia.
Se você trabalha em uma empresa com turnos de 48 horas, tente definir algo como:
Dessa forma, você pode definir os dias em que vai trabalhar. Mas ainda vai parecer estranho e há uma opção melhor e é usar a forma singular:
Agora você realmente está mostrando o significado da enumeração. Normalmente, em qualquer domínio, você descobrirá que usar singular para uma enumeração é a melhor opção, pois cada constante na enumeração é apenas um elemento.
Você também mencionou o .NET. Uma enumeração "flags" no .NET significa apenas que, quando você espera essa enumeração como parâmetro, o que você realmente obtém é uma lista de elementos dessa enumeração (armazenados como um número inteiro).
Você poderia fazer o mesmo em Java, mas o enum ainda será singular:
Uma maneira mais fácil e clara (embora use mais memória) para fazer isso com Java é apenas usar uma lista.
fonte