Qual é a melhor prática para empacotar enums Java?
é um arquivo separado para cada enumeração?
ou
com o mesmo arquivo para todas as enumerações?
Quais são os prós e contras ?
Qual é a melhor prática para empacotar enums Java?
é um arquivo separado para cada enumeração?
ou
com o mesmo arquivo para todas as enumerações?
Quais são os prós e contras ?
Respostas:
Primeiro, uma regra primordial é que, se um enum
for público, ele deve ser declarado em um arquivo próprio. Esta é uma regra Java que se aplica a todas as classes, interfaces enum
es que não podem ser quebradas.
Para enum
s não públicos , você deve seguir a mesma regra, exceto quando vários enum
s estão intimamente conectados.
Por exemplo, se você estiver construindo um processador de expressão e declarando uma enumeração para um subtipo de expressão, um subtipo de expressão binária e um subtipo de expressão unário, convém agrupar as três enumerações em um único arquivo.
enum
s não são diferentes das regras para outras classes: se uma classe é pública, ela precisa estar no arquivo em um local adequado, que corresponda ao nome do pacote, com o nome da classe que corresponde ao nome do arquivo.
Enums são classes, então você deve agrupá-las como classes comuns. Se o enum for usado em muitos lugares dentro do pacote, coloque-o em um único arquivo. Se o enum estiver fortemente vinculado a uma classe, coloque-o como uma classe interna estática pública (ou protegida).
Não vejo razões para colocar todas as enumerações em um único arquivo, a menos que estejam relacionadas.