Tout dépendra de la façon dont votre fonction est publique et de la manière dont les mauvaises entrées seront destructrices pour votre application/magasin de données.
S'il existe un couplage étroit entre le code appelant la fonction et la fonction elle-même, je pense que la validation est excessive et ne fera qu'ajouter de la complexité à votre solution. Toutefois, si votre code est, par exemple, une partie d'une bibliothèque utilisée par plus que votre code, ajoutez autant de validation que nécessaire. Vous ne voulez pas que votre code échoue/permette que quelque chose ne se passe pas parce que vous n'avez pas validé l'entrée.
Pensez aux bibliothèques/fonctions que vous utilisez déjà. Si vous leur donnez de mauvaises valeurs, comment réagissent-ils? Répondent-ils avec une erreur sur mesure (par exemple "Eléphant" n'est pas un fruit) ou une erreur interne qui est un sous-produit de votre mauvaise entrée (par exemple "Référence d'objet non définie sur une instance d'un objet")?
Merci. Pardonnez-moi pour cette stupidité, mais que signifie "couplage serré"? Je le vois beaucoup. – EdOxH
Dans ce cas, je veux dire que les deux fonctions fonctionnent très étroitement ensemble pour le même but commun et changer une aurait un effet négatif sur l'autre. Jetez un oeil à http://en.wikipedia.org/wiki/Coupling_(computer_science) – CResults