10.조건부 로직 간소화
조건문 분해하기
if (!aDate.isBefore(plan.summerStart) && !aDate.isAfter(plan.summerEnd)) {
charge = quantity * plan.summerRate;
} else {
charge = quantity * plan.regularRate + plan.regularServiceCharge;
}if (summer()) {
charge = summerCharge();
} else {
charge = regularCharge();
}
function summer() {
return !aDate.isBefore(plan.summerStart) && !aDate.isAfter(plan.summerEnd);
}
function summerCharge() {
return quantity * plan.summerRate;
}
function regularCharge() {
return quantity * plan.regularRate + plan.regularServiceCharge;
}조건식 통합하기
중첩 조건문을 보호 구문으로 바꾸기
조건부 로직을 다형성으로 바꾸기
특이 케이스 추가하기
어서션 추가하기
제어 플래그를 탈출문으로 바꾸기
Last updated