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