Item 35: Use os campos de instância em vez dos valores ordinais

1. Problemas com o Uso de Ordinais:

Manutenção Difícil:
Reordenar as constantes de enum quebra a lógica dependente do método ordinal().
Limitações de Valor Int:
Não é possível associar múltiplas constantes ao mesmo valor int.
Constantes Falsas Necess…


This content originally appeared on DEV Community and was authored by Giselecoder

1. Problemas com o Uso de Ordinais:

  • Manutenção Difícil:
    Reordenar as constantes de enum quebra a lógica dependente do método ordinal().

  • Limitações de Valor Int:
    Não é possível associar múltiplas constantes ao mesmo valor int.

  • Constantes Falsas Necessárias:
    Para valores int intermediários sem denominação, você precisa adicionar constantes não representativas.

2. Exemplo de Problema:

Image description

  • Reordenar Constantes:
    Quebraria numberOfMusicians().

  • Adicionar Constantes:
    Impossível sem conflitos de valores.

3. Solução Recomendada:

  • Use Campos de Instância: Image description

4. Benefícios da Solução:

  • Flexibilidade:
    Permite associar múltiplas constantes ao mesmo valor int.
    Manutenção Simplificada: Reordenar constantes ou adicionar novas não quebra a lógica existente.

  • Evita Constantes Falsas:
    Não há necessidade de adicionar valores intermediários desnecessários.

5. Recomendação Geral:

  • Evitar Ordinais:
    A especificação do Enum sugere que o método ordinal() deve ser usado principalmente por estruturas de dados baseadas em enums, como EnumSet e EnumMap.

  • Uso Restrito:
    Se não estiver criando tais estruturas, é melhor evitar o método ordinal().

Conclusão:
Utilize campos de instância em enums para armazenar valores associados, garantindo maior flexibilidade, facilidade de manutenção e evitando a criação de constantes artificiais.


This content originally appeared on DEV Community and was authored by Giselecoder


Print Share Comment Cite Upload Translate Updates
APA

Giselecoder | Sciencx (2024-06-20T01:29:02+00:00) Item 35: Use os campos de instância em vez dos valores ordinais. Retrieved from https://www.scien.cx/2024/06/20/item-35-use-os-campos-de-instancia-em-vez-dos-valores-ordinais/

MLA
" » Item 35: Use os campos de instância em vez dos valores ordinais." Giselecoder | Sciencx - Thursday June 20, 2024, https://www.scien.cx/2024/06/20/item-35-use-os-campos-de-instancia-em-vez-dos-valores-ordinais/
HARVARD
Giselecoder | Sciencx Thursday June 20, 2024 » Item 35: Use os campos de instância em vez dos valores ordinais., viewed ,<https://www.scien.cx/2024/06/20/item-35-use-os-campos-de-instancia-em-vez-dos-valores-ordinais/>
VANCOUVER
Giselecoder | Sciencx - » Item 35: Use os campos de instância em vez dos valores ordinais. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/06/20/item-35-use-os-campos-de-instancia-em-vez-dos-valores-ordinais/
CHICAGO
" » Item 35: Use os campos de instância em vez dos valores ordinais." Giselecoder | Sciencx - Accessed . https://www.scien.cx/2024/06/20/item-35-use-os-campos-de-instancia-em-vez-dos-valores-ordinais/
IEEE
" » Item 35: Use os campos de instância em vez dos valores ordinais." Giselecoder | Sciencx [Online]. Available: https://www.scien.cx/2024/06/20/item-35-use-os-campos-de-instancia-em-vez-dos-valores-ordinais/. [Accessed: ]
rf:citation
» Item 35: Use os campos de instância em vez dos valores ordinais | Giselecoder | Sciencx | https://www.scien.cx/2024/06/20/item-35-use-os-campos-de-instancia-em-vez-dos-valores-ordinais/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.