提取函式(Extract Function)是最常見的重構技巧之一:
當你理解某段程式碼的功能後,將它抽取成獨立函式,並賦予具描述性的名稱。

Extract Function
核心目標是將 意圖(Intent)與實作(Implementation) 分離——
如果你須閱讀函式內部才能理解它在做什麼,那它就是提取的好候選者。
何時該提取函式?
- 邏輯複雜:必須深入實作細節才能理解程式碼在做什麼
- 區塊過長:程式碼區塊超過約六行(現代編譯器已能優化函式呼叫的成本)
- 提升可讀性:命名良好的函式本身就是最佳的文件
- 重用與測試:提取後的行為可在其他地方重用,也能獨立測試
範例#
重構前#
if __name__ == "__main__":
numbers = [1, 2, 3, 4, 5]
total = 0
for number in numbers:
total += number
print(total)重構後#
def calculate_sum(numbers):
total = 0
for number in numbers:
total += number
return total
if __name__ == "__main__":
numbers = [1, 2, 3, 4, 5]
result = calculate_sum(numbers)
print(result)