본문 바로가기

Development/Programming

[Refactoring] 제어 플래그 제거

여러가지 조건문이 사용된 코드에는 조건문을 빠져나가는 시점을 결정하는 제어 플래그가 흔히 사용이 된다. 하지만 이탈점을 하나만 사용하면 코드 안의 각종 특이한 플래그로 인해 조건문이 복잡해진다. 이러한 복잡한 조건문을 방지하는 break, continue문이 있다. 


for (int i=0;i<list.size();i++) {


final String str = list.get(i);


if (str.equalsIgnoreCase(아무개)) {

sendAlert();

isFound = true;

}


if (str.equalsIgnoreCase(아무개2)) {

sendAlert();

isFound = true;

}


}


위의 코드를


for (int i=0;i<list.size();i++) {


final String str = list.get(i);


if (str.equalsIgnoreCase(아무개)) {

sendAlert();

break;

}


if (str.equalsIgnoreCase(아무개2)) {

sendAlert();

break;

}


}

break;문의로 변경을 하자 또는 return으로 값을 반환해도 된다. 


ps.

이 방법은 정말 유용할게 쓸수 있을까? 라는 생각이 약간 들긴하지만 상황에 따라 유용할 것 같다.