Introduce Explaining Variable
From CSSEMediaWiki
Revision as of 20:48, 5 August 2009 by Paul Williams (Talk | contribs)
If you have a complicated expression put them into temporary variables that explain what they do. This can help make code easier to read and understand.
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 }