昨天進行到這邊,我們發現當中的 FirstOrDefault 重複了好多次,看起來好冗。
把重複的部分選取起來,可以看到重構選項有個 Introduct Variable。
按下去之後,Rider 問我:「你是要取代一個,還是一次取代四個呢?」小孩子才做選擇,當然是越多越好。
好了,重複的函式呼叫都被抽成一個變數了。
還有一些紅色底線,在上面按 Show Context Actions
。
Rider 幫我簡化了程式碼,看起來乾乾淨淨。
Extract/Introduce Variable 的威力也不限於重複的函式呼叫,有時透過抽取解釋型的變數,即使只有一行使用,也能大大增加程式碼的可讀性!!
特別要注意的是,假如中間有針對使用到的變數做賦值,例如下圖,則抽取變數的過程可能會改變語意。目前這是 Rider 的限制。
比較好的方式是,不要一直針對相同的變數做賦值,考慮直接宣告一個新的吧!