Capítulo: Design de Métodos
Item 49: Verifique a Validade dos Parâmetros
- Restrições em Parâmetros:
Métodos e construtores geralmente possuem restrições sobre os valores dos parâmetros (ex.: índices não negativos, referências não nulas).
Essas restrições devem ser documentadas e verificadas no início do método.
- Importância da Verificação:
Detectar erros o mais cedo possível para evitar falhas inesperadas ou comportamento incorreto no método.
Métodos que não verificam seus parâmetros podem causar falhas difíceis de depurar.
- Documentação das Exceções:
Use a tag Javadoc @throws para documentar exceções lançadas em caso de violação de restrições.
Exceções comuns: IllegalArgumentException, IndexOutOfBoundsException, NullPointerException.
Exemplo de Verificação de Parâmetro:
public static int mod(int x, int y) { if (y- Uso de Objects.requireNonNull:
Introduzido no Java 7, é usado para verificar nulidade de objetos.
Retorna o valor passado após a verificação:this.m = Objects.requireNonNull(m, "Parâmetro 'm' não pode ser nulo");- Verificação de Ranges (Java 9):
Métodos checkFromIndexSize, checkFromToIndex, e checkIndex para verificar índices em listas e arrays.
Menos flexíveis, usados principalmente para coleções.
**
assert x > 0 : "Valor de x deve ser positivo";
- Casos Especiais:
Construtores devem sempre verificar a validade dos parâmetros armazenados para uso posterior.
Exceções podem ser feitas para verificações custosas, onde a verificação é implícita durante o cálculo.
- Exemplo de Verificação Implícita:
Collections.sort(List) assume que os objetos são mutuamente comparáveis. A verificação ocorre durante o processo de ordenação.
- Tradução de Exceções:
Quando a verificação implícita lança a exceção errada, use a "tradução de exceção" para lançar a exceção correta.
- Flexibilidade nas Restrições:
Métodos devem ser projetados para ser o mais gerais possível, impondo o mínimo de restrições necessárias.
- Conclusão:
Documente e implemente verificações de validade de parâmetros em métodos e construtores. A prática é fundamental para evitar erros futuros e facilitar a depuração.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3