Que signifie LBYL ?

LBYL est un acronyme anglais qui signifie « Look Before You Leap » que l'on pourrait traduire en français par « Regarde avant de sauter ».

Cet acronyme représente une façon de développer dans laquelle on préfère s'assurer qu'une expression ne causera pas d'erreurs avant de l'exécuter, notamment à l'aide de structures conditionnelles.

Ce style va ainsi à l'encontre du style EAFP.

Par exemple, si on souhaite récupérer la valeur associée à une clé dans un dictionnaire :

data = {213: 45000}

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

☝️ ici on vérifie d'abord si la clé existe ou non dans le dictionnaire data. Si c'est le cas, on affiche sa valeur, sinon on indique que l'employé n'existe pas.

Le même code avec le style EAFP donnerait plutôt :

data = {213: 45000}

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

☝️ ici on ne se préoccupe pas de savoir si la clé existe ou non, on essaie directement de la récupérer et on gère les erreurs possibles avec un bloc try / except.