動機(Motivation)
表達式有可能非常復雜而難以閱讀.這種情況下,臨時變量可以幫助你將表達式分解為比較容易管理的形式.
在條件邏輯(conditional logic)中,Introduce Explaining Variable(124)特別有價值:你可以用這項重構將每個條件子句提煉出來,以一個良好命名的臨時變量來解釋對應條件子句的意義.使用這項重構的另一種情況是,在較長算法中,可以運用臨時變量來解釋每一步運算的意義.
Introduce Explaining Variable(124)是一個很常見的重構手法,但我得承認,我并不常用它.我幾乎總是盡量使用Extract Method(110)來解釋一段代碼的意義.畢竟臨時變量只在它所處的那個函數中才有意義,局限性較大,函數則可以對象的整個生命中都有用,并且可被其他對象使用.但有時候,當局部變量使Extract Method(110)難以進行時,我就使用Introduce Explaining Variable(124).
表達式有可能非常復雜而難以閱讀.這種情況下,臨時變量可以幫助你將表達式分解為比較容易管理的形式.
在條件邏輯(conditional logic)中,Introduce Explaining Variable(124)特別有價值:你可以用這項重構將每個條件子句提煉出來,以一個良好命名的臨時變量來解釋對應條件子句的意義.使用這項重構的另一種情況是,在較長算法中,可以運用臨時變量來解釋每一步運算的意義.
Introduce Explaining Variable(124)是一個很常見的重構手法,但我得承認,我并不常用它.我幾乎總是盡量使用Extract Method(110)來解釋一段代碼的意義.畢竟臨時變量只在它所處的那個函數中才有意義,局限性較大,函數則可以對象的整個生命中都有用,并且可被其他對象使用.但有時候,當局部變量使Extract Method(110)難以進行時,我就使用Introduce Explaining Variable(124).