
들여쓰기 지옥의 중첩된 조건문을 개선하자
2023-10-24
0
views개요
개발을 하다보면 코드가 복잡하고 읽고 이해하기 힘들어 질 때가 있습니다.
오늘은 코드의 가독성이 떨어지는 이유 중 가장 흔한 중첩된 조건문
을 개선하는 방법에 대해 정리해보도록 하겠습니다.
조건문을 작성하는 방식 두가지
조건문을 작성하는 방식은 크게 두 가지 패턴으로 구분할 수 있습니다. 각각의 패턴은 서로 다른 장단점을 가지고 있어 상황에 따라 적절한 선택이 필요합니다.
Bubble Style (중첩 조건문)
첫 번째 방식은 전통적인 중첩 조건문 스타일입니다. 이 방식의 특징은 다음과 같습니다:
- 조건식들이 코드 상단에 집중되어 있어 초기 분기 파악이 용이합니다.
- 긍정적인 조건을 먼저 처리하여 "정상 흐름"을 먼저 보여줍니다.
- 하지만 깊이가 깊어질수록
else
블록이 중첩되어 코드 추적이 어려워집니다. - 들여쓰기 수준이 깊어져 가독성이 저하될 수 있습니다.
Gateway Style (빠른 반환)
두 번째 방식은 현대적인 접근 방식으로, 빠른 반환(early return) 패턴이라고도 합니다:
- 유효하지 않은 조건을 먼저 걸러내어 코드의 복잡도를 줄입니다.
- 들여쓰기 수준이 얕아 코드 가독성이 향상됩니다.
- 각 조건마다 명확한 출구(exit point)가 있어 코드 흐름 파악이 용이합니다.
- 함수의 주요 로직이 마지막에 위치하여 핵심 비즈니스 로직이 돋보입니다.
위 예제에선 단순하게 condition1
같은 형식으로 적어서 읽기가 편하지만,
실제 개발 환경에서는 아래와 같이 더 복잡한 조건문을 자주 마주치게 됩니다:
Gateway Style의 추가적인 이점은 코드의 수평 공간 활용에서도 나타납니다:
- 얕은 들여쓰기로 인해 한 줄에 더 많은 코드를 작성할 수 있습니다.
- 조건문이 깔끔하게 정렬되어 코드 구조 파악이 용이합니다.
- 각 조건의 처리가 독립적이어서 유지보수가 용이합니다.
결론
코드 품질 향상을 위해서는 단순히 동작하는 코드를 작성하는 것을 넘어서, 더 나은 구조를 고민하는 것이 중요합니다. 특히 조건문 작성에 있어서 Gateway Style의 적용은 다음과 같은 이점을 제공합니다:
- 코드의 가독성 향상
- 유지보수 용이성 증가
- 버그 발생 가능성 감소
- 코드 리뷰 효율성 증가
이러한 작은 개선들이 모여 전체 코드베이스의 품질을 향상시키는 초석이 됩니다. 앞으로도 클린 코드 작성을 위한 다양한 기법들을 지속적으로 공유하도록 하겠습니다. 감사합니다!