0817
if~else문은 나쁘다?
가독성과 유지보수성 저하
- if-else 체인이 길어질수록 코드 이해가 어려워짐
- 새로운 조건 추가 시 기존 코드 수정 필요
- 중첩된 조건문은 복잡도를 기하급수적으로 증가시킴
성능 이슈
- 많은 조건을 순차적으로 검사하면 성능 저하 발생
- 특히 자주 실행되는 함수에서는 더 큰 영향을 줌
js
// if~else문 사용
function getDiscount(customerType) {
if (customerType === 'bronze') return 0.05;
else if (customerType === 'silver') return 0.10;
else if (customerType === 'gold') return 0.15;
else if (customerType === 'platinum') return 0.20;
else if (customerType === 'diamond') return 0.25;
// ... 더 많은 조건들
}
// 만약 고객의 등급이 'diamond' 라면?
// bronze → silver → gold → platinum → diamond 순서로 5번 비교js
// 해시 테이블로 조회
const discountMap = {
bronze: 0.05,
silver: 0.10,
gold: 0.15,
platinum: 0.20,
diamond: 0.25
};
function getDiscount(customerType) {
return discountMap[customerType] || 0;
// 단 한 번의 조회로 결과 반환 O(1)
}테스트의 어려움
- 모든 조건 분기를 테스트하기 위해 많은 테스트 케이스 필요
- 코드 커버리지 확보가 복잡해짐