L'expression "demander pardon et non la permission" fait référence à un contraste entre deux approches de programmation : "demander la permission" et "demander pardon."
Cette approche vérifie une condition avant tenter une opération :
if can_do_operation(): perform_operation() else: handle_error_case()
Cependant, ce style présente des limites :
Cette approche tente l'opération et gère les erreurs qui en résultent :
try: perform_operation() except Unable_to_perform: handle_error_case()
Avantages de « demander pardon » :
Application aux propriétés des objets
Dans votre exemple, la propriété foo.bar ne doit pas être considérée comme un échec de l'objet foo s'il n'existe pas. Il s'agit plutôt généralement d'une erreur de programmation. Pour gérer cela, initialisez bar sur None et utilisez :
if foo.bar is not None: handle_optional_part(foo.bar) else: default_handling()
Cela garantit que foo manque le champ bar ou a une valeur valide.
" "Demandez pardon et non la permission" ne consiste pas à excuser un mauvais codage. Il s’agit plutôt de donner la priorité à la robustesse et à la clarté dans des situations exceptionnelles où les opérations pourraient échouer. Dans le cas de propriétés d'objet facultatives, les représenter avec une valeur par défaut Aucune et utiliser des contrôles d'existence appropriés suit ce principe.
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!