[리팩토링 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()