[리팩토링] 조건문 지옥 개선하기 (feat. if 지옥)
·
트러블슈팅
❓조건문 지옥조건문 지옥은 코드 로직이 if / else if / else 혹은 중첩된 조건문이 지나치게 복잡해져서 코드의 가독성, 유지보수성, 확장성이 저하되는 경우를 뜻하는데 공식적인 용어는 아니고 콜백지옥처럼 비공식적인 용어라고 합니다. 🚨문제 상황프로젝트를 진행하면서 신청자가 참여 요청의 상태(대기, 승인, 취소, 거절 등)에 따라 서로 다른 UI를 보여줘야 하는 로직을 구현했는데, 이 구조를 모두 조건문으로 처리하여 구현했습니다. 그로 인해서 몇 가지 문제점들이 발생했습니다.코드의 가독성이 현저히 낮아짐.또 다른 분기 처리 로직을 추가하기 위해 많은 시간이 필요함.예를 들어 '승인취소' 상태일 때 UI에선 '승인 대기' 로 보일 때 디버깅이 매우 복잡함.비지니스 로직과 UI 관련 로직이..