두 방식은 실패의 성격을 다르게 본다
LBYL은 가능 여부를 먼저 확인하고, EAFP는 연산을 시도한 뒤 예상한 실패를 잡아. 성공이 보통이고 실패가 예외라면 EAFP가 정상 흐름을 선명하게 만들고 확인과 사용 사이의 경쟁 조건도 없애.
미리 보는 편이 나을 때도 있어
실패가 대부분이거나, 시도 자체가 되돌릴 수 없는 부수 효과를 남기거나, ‘가능한가?’가 질문의 본체라면 LBYL이 정직해. 딕셔너리도 누락이 오류면 인덱싱과 예외, 흔한 경우면 get, 상태 확인 자체가 목적이면 in을 써.
원칙: EAFP는 무작정 돌진하는 태도가 아니라 시도와 실패 처리를 하나의 경계에 묶는 방법이야.
5% 관점: 손자병법 식으로 보면 승산을 묻지 않는 공격이 아니라, 확인과 실행 사이에 다른 일이 끼어드는 틈을 없애는 전술이야. 실패가 드물고 되돌릴 수 있을 때 시도와 처리를 묶고, 실패가 일상이거나 부수 효과가 크면 먼저 살펴.