當原始資料需被轉換成多處使用的衍生資訊時,
最好將重複轉換邏輯整合成單一轉換函式(Transform Function)。
這能避免重複程式碼,並將整個流程的驗證集中管理。

Combine Functions into Transform
與將函式移入類別不同,這項技巧特別適合來源資料保持不可變(Immutable)的情境。
何時該將函式合併成轉換?
- 重複轉換:多個函式對相同輸入執行相關的操作
- 不可變來源資料:原始資料不會被修改,因此純粹的轉換函式很適合
- 簡化測試:你只需要為一個合併後的函式撰寫測試,而非許多小函式
範例#
重構前#
def to_upper(text):
return text.upper()
def reverse_text(text):
return text[::-1]
if __name__ == "__main__":
input_text = "hello"
transformed_text = reverse_text(to_upper(input_text))
print(f"Transformed Text: {transformed_text}")重構後#
def transform_text(text):
return text.upper()[::-1]
if __name__ == "__main__":
input_text = "hello"
transformed_text = transform_text(input_text)
print(f"Transformed Text: {transformed_text}")