重構筆記 內聯臨時變數

2021-06-27 23:00:38 字數 894 閱讀 7159

內聯臨時變數」這種重構手法。

下面讓我們一起來學習該重構手法把。(ps:雖然某些重構手法看起很簡單,但是和其它重構手法結合起來使用,會產生異曲同工的效果)

發現:你有乙個臨時變數,只被乙個簡單表示式賦值一次,而它妨礙了其它的重構手法。

解決:將所有對該變數的引用動作,替換為對它賦值的那個表示式自身。

//重構前

double baseprice = singleorder.baseprice();

return (baseprice > 1000)

//重構後

return (singleorder.baseprice() > 1000)

(1)檢查給臨時變數賦值的語句,確保等號右邊的表示式沒有***。

(2)如果這個臨時變數並未被宣告為final,那就將它宣告為final,然後編譯。(這可以檢查該臨時變數是否真的只被賦值一次)

(3)找到該臨時變數所有引用點,將它們替換為「為臨時變數賦值」的表示式。

(4)每次修改後,編譯並測試。

(5)修改完後所有引用點後,刪除該臨時變數的宣告和賦值語句。

(6)編譯,測試。

本文主要介紹了重構手法——內聯臨時變數,該手法和內聯函式類似,處理起來比較簡單,其主要是結合其它重構手法一起使用。雖然手法比較簡單,但是在某些情況下看起來又不得不使用,因為使用其後會讓其它重構方法更加便捷。

重構筆記——入門篇

重構筆記——**的壞味道(上)

重構筆記——**的壞味道(下)

重構筆記——構築測試體

重構筆記——提煉函式

重構筆記——內聯函式

重構組合方法之 內聯臨時變數

本文將主要介紹 內聯臨時變數 重構 inline temp 這個重構的主要目的是為了輔助其他重構,用於刪除程式中那些僅被賦值一次的臨時變數。內聯臨時變數 處理過程 確保賦值表示式右側沒有 如果臨時變數不是final,那麼就將其設定為final。編譯。這樣做是確保臨時變數只被賦值一次 用賦值表示式的右...

重構筆記 內聯函式

內聯函式 這種重構手法。下面讓我們一起來學習該重構手法把。發現 乙個函式的本體與名稱同樣清楚易懂。解決 在函式呼叫點插入函式本體,然後移除該函式。重構前 public int getrating boolean morethansixlatedeliveries 重構後 public int get...

重構組合方法之 用查詢方法代替臨時變數

通常情況下,在進行程式設計的過程中,使用臨時變數來儲存一些表示式計算的值。這其中存在著一些問題 可讀性差。因為 閱讀者需要理解表示式的含義和目的,這樣注意力就深入至表示式內部,從而降低了閱讀效率和對程式整體的把握。不利於其他重構。因為這樣做程式中會出現很多臨時變數,不利於 提取方法 等其他重構。現在...