複雜性往往源於複雜的條件邏輯。
我們可對條件各部分,依據其目的來命名:這實屬拆分函式的一類,但因很有價值而再次強調。

Decompose Conditional

# Before
hour = 20
if hour < 12:
    print("Good morning!")
elif hour < 18:
    print("Good afternoon!")
else:
    print("Good evening!")

# After
def is_morning(hour):
    return hour < 12

def is_afternoon(hour):
    return 12 <= hour < 18

def is_evening(hour):
    return hour >= 18

hour = 20
if is_morning(hour):
    print("Good morning!")
elif is_afternoon(hour):
    print("Good afternoon!")
else:
    print("Good evening!")