簡述
Introduce Explaining Variable(引入介紹性變量)指將復(fù)雜表達式的結(jié)果放進一個臨時變量诵盼,以此變量名稱來解釋表達式用谭溉。
if ((paltform.toUpperCase().indexOf("MAC") > -1) &&
(browser.toUpperCase().indexOf("IE") > -1) &&
wasInitialized() && resize > 0)
{
//do something
}
改為
final boolean isMacOs = paltform.toUpperCase().indexOf("MAC") > -1
final boolean isIEBrowser = browser.toUpperCase().indexOf("IE") > -1
final boolean wasResized = resize > 0
if (isMacOs && isIEBrowser && wasInitialized() && wasResized)
{
//do something
}
動機
表達式有可能非常復(fù)雜而難以閱讀。這種情況下,臨時變量可以幫助你將表達式分解為容易管理的形式梯醒。
做法
- 聲明一個final臨時變量儿子,將待分解之復(fù)雜表達式中的一部分動作的運算結(jié)果賦值給它
- 將表達式中的“運算結(jié)果”這一部分麦箍,替換為上述臨時變量
- 編譯漓藕、測試
- 重復(fù)上述過程,處理表達式的其他部分