IT/리팩토링

[리팩토링] 직관적 임시변수 사용

상쾌한기분 2019. 10. 25. 11:18
728x90
반응형

사용된 수식이 봅잡할때 수식의 결과나 일부분을 직관적 이름의 임시변수에 대입


위에 조건문과 같은 경우에 논리조건문이 복잡해져서 코드를 보는 사람이 한번에
이해 하기 어려울때 사용하지만, 임시변수를 사용하면 메소드가 복잡해진다.
따라서, 더 좋은 방법이 없는지 생각해본 뒤 사용하자.

 

변경 전

if ( (platform.toUpperCase().indexOf('MAC') > -1)
	&& (browser.toUpperCase.indexOf('IE') > -1)
	&& wasInitialized() && (resize > 0) ) 
{
	// code blah blah
}

 

변경 후

boolean isMac = platform.toUpperCase().indexOf('MAC');
boolean isIE = browser.toUpperCase.indexOf('IE');
boolean isInit = wasInitialized();
boolean wasResize = resize > 0;

if ( isMac && isIE && isInit && wasResize )
{
	// code blah blah
}
728x90
반응형