
아키텍처
코드 품질 개선 기법 3편: 전략 없는 전략
두줄요약
반복문 내부의 큰 조건 분기가 흐름 파악과 대응 관계를 어렵게 만든다고 설명했습니다. 이를 해결하는 네 가지 재구조화 방식과 각 장단점을 정리했습니다.
핵심 내용
- 반복문 내부의 큰 조건 분기가 흐름 파악과 타입-로직 대응을 어렵게 만드는 문제 제기
- 이를 줄이기 위한 네 가지 재구조화 방식 제시
- 반복문 제거, 분기 추출, 타입에 로직 포함, 타입-로직 튜플 명시
- 각 방식의 가독성, 포괄성, 재사용성, 테스트 용이성 차이 정리
선택 이유
- 타입이 널리 쓰이면 타입 내부에 기능 고유 로직을 넣는 방식이 부적절할 수 있음
- 순서와 로직의 연관성을 명시하면 대응 관계를 더 분명하게 드러낼 수 있음
장단점
- 반복문 제거: 단순하지만 전체 포괄성 확인과 컬렉션 유틸리티 활용이 어려움
- 분기 추출: 가독성은 개선되지만 순서와 분기 대응 문제는 남음
- 타입에 로직 포함: 분기 제거와 컴파일 보장이 장점이나 의존성이 커질 수 있음
- 튜플 명시: 순서와 로직 대응을 잘 드러내지만 포괄성은 테스트로 보완 필요
적용해볼 점
- 반복문 안에 큰 분기가 있으면 로직과 순서의 관계를 먼저 분리해보기
- 타입의 사용 범위와 재사용성을 기준으로 전략을 선택하기