Обзор темы [Рефакторинг кода]

Введение поясняющей переменной

(Introduce Explaining Variable)

Имеется сложное выражение.

Поместить результат выражения, либо части выражения в переменную с содержательным названием.

If ((platform.toUpperCase().indexOf(“Mac”) > -1) &&

(browser.toUpperCase().indexOf(“IE”) > -1) &&

wasInitialized() && resize > 0)

{

//do something

}

Final boolean isMacOs = platform.toUpperCase().indexOf(“Mac”) > -1

Final boolean isIEBrowser = browser.toUpperCase().indexOf(“Mac”) > -1

Final boolean wasResized = resize > 0

If (isMacOs && isIEBrowser && wasInitialized() && wasResized)

{

//do something

}

Может использоваться со сложными составными логическими выражениями, где каждая часть выражения представляется переменной с содержательным именем, либо со сложным алгоритмом, где каждый шаг вычислений может быть представлен своей переменной.

Введение локальной переменной может затруднить использование Извлечение Метода, так что часто вместо этого метода можно попробовать использовать Извлечение Метода сразу.