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

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!")