Que signifie EAFP ?

EAFP est un acronyme anglais qui signifie « Easier to Ask for Forgiveness than Permission », que l'on pourrait traduire en français par « Il est plus facile de demander pardon que de demander la permission ».

Cet acronyme représente une façon de développer selon laquelle on considère que le code est valide, puis on gère les erreurs si ce n'est pas le cas. Elle va ainsi à l'encontre du style LBYL couramment utilisés dans des langages tels que le C.

Voici un exemple de code en style EAFP :

data = {213: 45000}
try:
    salaire_employe = data[214]
except KeyError:
    print("L'employé #214 n'existe pas")

Ce style de programmation utilise beaucoup les blocs try except qui représentent bien cette façon de penser (on essaie le code et si ça ne fonctionne pas, on gère l'erreur qui en résulte).

Le même bloc de code avec un style LBYL donnerait plutôt :

data = {213: 45000}
if 214 in data:
    print("Salaire de l'employé 214:", data[214])
else:
    print("L'employé #214 n'existe pas")