🎯 什麼情境該想到我
當你「發現同一組資料項目老是成群結隊地出現在多個函式的參數清單裡」的時候——把它們組成一個物件一起傳。這不只讓參數變短,更揭示了這群資料本來就屬於同一個概念,還能把處理它們的行為搬進去。
⚙️ 怎麼用(步驟 / 公式)
意圖:把常一起出現的一組參數組成一個物件來傳遞。
動作要點(小步安全進行):
- 若還沒有合適的結構,先建立一個新類別(或記錄)來代表這組資料,給它一個能表達整體概念的名字。
- 用改變函式宣告 Change Function Declaration把這個新物件加進函式的參數清單。
- 逐一調整呼叫端,改成建立並傳入這個新物件。
- 把函式內原本使用個別參數的地方,改成從新物件取值。
- 移除已被取代的舊個別參數,測試。
- 後續可把「操作這組資料的邏輯」搬進這個新類別,讓它從資料袋長成有行為的物件。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 若這些參數只是偶爾湊在一起、彼此沒有概念上的關聯,硬包成物件反而增加無意義的間接。
🔗 相關工具
- 改變函式宣告 Change Function Declaration(引入參數物件透過改宣告來完成)
- 以物件取代基本型別 Replace Primitive with Object(同樣是把零散資料升級成有概念的物件)
- 提煉類別 Extract Class(參數物件長出行為後,往往就成了獨立類別)
- 重構