프로젝트 경험기/리팩토링 경험기
[리팩토링] (3) early-return 적용하기
yubi5050
2024. 12. 20. 17:26
배경
복잡한 if-else 중첩 구조에 대한 수정
과정
👉 리팩토링 전
- api.py 의 함수에 다음과 같은 조건문이 적혀있었고, 유지보수와 이해(가독성)에 매우 어려움이 존재
# 리팩 전
if a:
if b:
if c:
return '성공'
else:
raise ApiError(에러c)
else:
raise ApiError(에러b)
else:
raise ApiError(에러a)
👉 리팩토링 후
- 부정 문으로 상위 조건인 경우 return(raise)를 진행함 . early-return 을 통해 가독성 개선
# 리팩 후
if not a:
raise ApiError(에러a)
if not b:
raise ApiError(에러b)
if not c:
raise ApiError(에러c)
return '성공'