Chapitre : Conception de méthodes
Point 49 : Vérifier la validité des paramètres
- Restrictions sur les paramètres :
Les méthodes et les constructeurs ont généralement des restrictions sur les valeurs des paramètres (par exemple, indices non négatifs, références non nulles).
Ces contraintes doivent être documentées et vérifiées en début de méthode.
- Importance de la vérification :
Détectez les erreurs le plus tôt possible pour éviter des échecs inattendus ou un comportement incorrect dans la méthode.
Les méthodes qui ne vérifient pas leurs paramètres peuvent provoquer des plantages difficiles à déboguer.
- Documentation des exceptions :
Utilisez la balise Javadoc @throws pour documenter les exceptions levées en cas de violations de contraintes.
Exceptions courantes : IllegalArgumentException, IndexOutOfBoundsException, NullPointerException.
Exemple de vérification des paramètres :
public static int mod(int x, int y) { if (y <= 0) { throw new IllegalArgumentException("Divisor deve ser positivo."); } return x % y; }
- Utilisation d'Objects.requireNonNull :
Introduit dans Java 7, il est utilisé pour vérifier la nullité des objets.
Renvoie la valeur passée après vérification :
this.m = Objects.requireNonNull(m, "Parâmetro 'm' não pode ser nulo");
- Vérification des plages (Java 9) :
Méthodes checkFromIndexSize, checkFromToIndex et checkIndex pour vérifier les index dans les listes et les tableaux.
Moins flexible, principalement utilisé pour les collections.
**
assert x > 0 : "Valor de x deve ser positivo";
- Cas particuliers :
Les constructeurs doivent toujours vérifier la validité des paramètres stockés pour une utilisation ultérieure.
Des exceptions peuvent être faites pour les contrôles coûteux, où le contrôle est implicite lors du calcul.
- Exemple de vérification implicite :
Collections.sort(List) suppose que les objets sont mutuellement comparables. La vérification a lieu pendant le processus de tri.
- Traduction des exceptions :
Lorsque la vérification implicite renvoie la mauvaise exception, utilisez la « traduction d'exception » pour lancer la bonne exception.
- Flexibilité dans les restrictions :
Les méthodes doivent être conçues pour être aussi générales que possible, en imposant aussi peu de restrictions que nécessaire.
- Conclusion :
Documenter et mettre en œuvre des contrôles de validité des paramètres sur les méthodes et les constructeurs. La pratique est essentielle pour éviter de futures erreurs et faciliter le débogage.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!