Введение поясняющей переменной (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("IE") > -1;
final boolean wasResized = resize > 0;
if (isMacOs && isIEBrowser && wasInitialized() && wasResized)
{
// do something
}
Более детальную информацию смотрите на странице 137 книги Рефакторинг.
Оригинальная версия.
Copyright © 1999-2003, Martin Fowler.
|