본문 바로가기

클린코드

[리팩토링] 중첩 if문 제거

반응형

문제점 및 해결방안

  • 불필요한 중첩 if문 사용 -> 중첩 제거
  • likeMode를 비교하는 부분의 중복 -> 추출
  • else 사용 -> if문 위쪽에서 수행

변경 전 레거시 코드

if (owner.isEmpty() || owner == null) {
	vo.setOwner("%");
} else {
	if (likeMode == 0) {
		vo.setOwner(owner);
	} else {
		vo.setOwner(owner + "%");
	}
}

if (table.isEmpty() || table == null) {
	vo.setTable("%");
} else {
	if (likeMode == 0) {
		vo.setTable(table);
	} else {
		vo.setTable(table + "%");
	}
}

 

변경 후

if (owner.isEmpty() || owner == null) {
	owner = "%";
}
if (table.isEmpty() || table == null) {
	table = "%";
}

vo.setOwner(owner);
vo.setTable(table);
if (likeMode == 1) {
    vo.setOwner(owner + "%");
    vo.setTable(table + "%);
}

 

 

반응형