在重構的過程中,方法/函式簽章(signature)往往不是一開始就能設計完美。隨著需求演進,你可能會發現某些參數不再需要、某些回傳型別過於狹隘,甚至方法名稱本身也不再能準確表達意圖。這時候,就需要用到 Change Signature
。
然而,若是直接手動更改方法簽章,所有的呼叫處都要跟著更新,遇到那種一兩百個引用的方法改到手痠事小,遇到同型別的參數一不小心改錯順序就等著收 PIP。使用 IDE 自動重構就不用擔心這件事,我們來看看吧。
這是一個簡單的 API 呼叫,方法簽章中參數的順序是 request、baseUrl、action,但我通常習慣讓路徑在前面。
把游標移動到方法簽章上,按下 Change Signature。
可以看到彈窗裡面包含了方法簽章的各個資訊。我只是要調整參數順序,於是先選擇要移動的參數,再選擇旁邊的箭頭調整順序。
調整好的順序變成 baseUrl、action、request,接著按下 Next。
可以看到參數順序順利的更新啦~
一些 Rename 的重構,包含前面提到的 Rename Method
或者是 Rename Parameter
,都算是 Change Signature
的一種,也能透過相同的功能完成。不過正因為 Change Signature
非常複雜,在我的經驗中若是 Change Signature
同時包含多個操作,會有機率把簽章改壞,所以我習慣一個個執行,例如先做順序調整、再重新命名,確保每個操作都能成功。