"Demander pardon et non autorisation" : une explication technique
En programmation, l'expression "demander pardon et non autorisation" décrit deux styles de codage contrastés :
"Demander la permission" Style :
if can_do_operation(): perform_operation() else: handle_error_case()
"Demander pardon" Style :
try: perform_operation() except Unable_to_perform: handle_error_case()
Dans l'approche "demander la permission", la présence de l'opération can_do_opération () empêche l'appel perform_operation() de s'exécuter si l'opération ne peut pas être effectuée. Cependant, cette approche repose sur la précision de la vérification can_do_operation(), qui n'est pas toujours fiable dans des environnements dynamiques ou lorsqu'il s'agit de ressources externes.
Avantages de « Demander pardon »
Le style "demander pardon" offre plusieurs avantages :
Exemple : accès aux attributs d'instance
Dans votre exemple, vous vous renseignez sur l'utilisation de « demander pardon » lors de l'accès aux attributs de l'instance. Bien que normalement considéré comme une erreur de programmation, l'accès à un attribut inexistant peut être un scénario valide, par exemple lorsqu'il s'agit de parties d'objet facultatives.
Au lieu de tester l'existence d'un attribut (foo.bar) avec un gestionnaire d'exceptions, il est plus pythonique de vérifier si l'attribut n'est pas None. Pour les attributs facultatifs, l'attribut bar est généralement initialisé sur Aucun initialement et défini sur une valeur significative si disponible. Cela permet le test suivant :
if foo.bar is not None: handle_optional_part(foo.bar) else: default_handling()
Conclusion
Le principe « demander pardon et non autorisation » recommande d'adopter les exceptions comme un élément naturel de l'exécution du programme, en particulier lorsque traitant de fonctionnalités facultatives ou d’interactions de ressources externes. Il offre une plus grande flexibilité et adaptabilité dans les environnements dynamiques et simultanés, tout en permettant la gestion des erreurs via des mécanismes de gestion des exceptions.
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!