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
.