[리팩토링 cheat sheet] 10.1 조건문 분해하기(Decompose Conditional)
# Before
if not date.is_before(plan.summer_start) and not date.is_after(plan.summer_end):
charge = quantity * plan.summer_rate
else:
charge = quantity * plan.regularRate + plan.regularServiceCharge;
# After
if summer():
charge = summer_charge()
else:
charge = regular_charge()
- 복잡한 조건문 일 떄 주로 사용이 된다.
- 조건문을 분해해주면, 해당 조건이 무엇을 강조하고 무엇을 분기했는지 명백히 알 수 있게 된다.