iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0
Software Development

沒測試也敢重構?IDE 安全重構 30 日生存指南系列 第 8

Day 8. Extract Variable:為那語句找到名字

  • 分享至 

  • xImage
  •  

昨天進行到這邊,我們發現當中的 FirstOrDefault 重複了好多次,看起來好冗。
https://ithelp.ithome.com.tw/upload/images/20250922/20169414lZ3xt5C5Lc.png

把重複的部分選取起來,可以看到重構選項有個 Introduct Variable
https://ithelp.ithome.com.tw/upload/images/20250922/20169414gXi9fFgDpW.png

按下去之後,Rider 問我:「你是要取代一個,還是一次取代四個呢?」小孩子才做選擇,當然是越多越好。
https://ithelp.ithome.com.tw/upload/images/20250922/2016941427ANheUZ2S.png

好了,重複的函式呼叫都被抽成一個變數了。
https://ithelp.ithome.com.tw/upload/images/20250922/20169414nlLQUWmKJK.png

還有一些紅色底線,在上面按 Show Context Actions
https://ithelp.ithome.com.tw/upload/images/20250922/20169414D2otAyNsWX.png

Rider 幫我簡化了程式碼,看起來乾乾淨淨。
https://ithelp.ithome.com.tw/upload/images/20250922/20169414nF6hDRmii7.png

Extract/Introduce Variable 的威力也不限於重複的函式呼叫,有時透過抽取解釋型的變數,即使只有一行使用,也能大大增加程式碼的可讀性!!

特別要注意的是,假如中間有針對使用到的變數做賦值,例如下圖,則抽取變數的過程可能會改變語意。目前這是 Rider 的限制。
https://ithelp.ithome.com.tw/upload/images/20250923/20169414qMI3prO56T.png

比較好的方式是,不要一直針對相同的變數做賦值,考慮直接宣告一個新的吧!
https://ithelp.ithome.com.tw/upload/images/20250923/20169414AHTD5DNPne.png


上一篇
Day 7. Show Context Action:來自 IDE 的神諭
下一篇
Day 9. Extract Class:分裂出專屬的職責
系列文
沒測試也敢重構?IDE 安全重構 30 日生存指南14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言