KISS 全名為 Keep it simple, stupid!, 在 Wiki 上寫說為一種 設計原則, 但個人體悟也為一種思考模式, 目的在於 “化繁為簡”. 這邊的 stupid 不是貶義詞, 是表示易於理解.
在可能的情況下, 避免寫出複雜的邏輯、命名、結構、排版, 讓程式碼保持淺顯易懂.
範例
python 範例
下面為計算 購物車含稅總金額 的範例碼, 邏輯為將車裡的所有品項做加總.
before
可以看到修改前的邏輯為 取物 後做 計算, 並將每次的結果加入到總金額中.
def calculate_total_price(cart):
total = 0
for item in cart:
if item['quantity'] > 0:
price = item['price']
quantity = item['quantity']
tax = item['tax']
discount = item['discount']
total += (price * quantity * (1 + tax) - discount)
return total
after
修改後將 取物 與 計算 的邏輯拆成兩個函示, 保持函式的單一職責性.
def calculate_total_price(cart):
total = 0
for item in cart:
total += calculate_item_price(item)
return total
def calculate_item_price(item):
price = item['price']
quantity = item['quantity']
tax = item['tax']
discount = item['discount']
return price * quantity * (1 + tax) - discount