Principio EAFP en Python

EAFP es un consejo de gema en la comunidad de Python que puede no ser familiar para los programadores de otras comunidades. Rápidamente, EAFP o ‘Más fácil pedir perdón que permiso’ significa tener una visión optimista del código en el que está trabajando, y si se lanza una excepción, tómela y trátela más tarde.

“Recuerda siempre que es mucho más fácil disculparse que obtener permiso. En este mundo de las computadoras, lo mejor que se puede hacer es hacerlo”. — Gracia Hopper

Es diferente al método tradicional de LBYL o ‘Mira antes de saltar’ , donde verificas si tu código tendrá éxito y continúas si y solo si no hay error.

Ejemplo: suponga que desea abrir un archivo y leer su contenido.

Código de ‘permiso’:

import os
  
  
# Race condition
File_name ="test.txt"
  
if os.access(File_name, os.R_ok):
    with open(File_name) as f:
        print(f.read())
else:
    print("No such file accessed") 

Cuando solicita permiso para leer el archivo, la respuesta es ‘Sí’, pero en el momento en que realmente va a leer, la respuesta cambia. Aquí es donde te abres a la condición de Carrera.

Código de ‘perdón’: lo que debe hacer en su lugar es continuar con el flujo y pedir perdón, es decir, detectar el error mediante el manejo de excepciones.

# No Race condition
File_name ="test.txt"
  
try:
    f = open(File_name)
except IOError:
    print("No such file accessed") 
else:
    with f:
        print(f.read())

Las ventajas del método EAFP:

  • Explícito es mejor que implícito
  • Falla, pero falla rápido y triunfa más rápido
  • Falla, pero falla barato
  • no te repitas

Publicación traducida automáticamente

Artículo escrito por madhura_g y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *