return 지점 수가 지정된 최댓값을 초과하는 메서드를 보고합니다.
return 지점이 너무 많은 메서드는 혼란을 주고 리팩터링하기 어려울 수 있습니다.
return 지점은 return 문이거나 void 메서드 또는 생성자의 하단에 도달하는 것을 나타냅니다.
예:
두 개의 return 문만 허용되는 경우 아래 메서드가 보고됩니다.
void doSmth(User[] users) {
for (User user : users) {
if (cond1(user)) {
user.setId(getId());
return;
} else if (cond2(user)) {
if (cond3(user)) {
user.setId(getId());
return;
}
}
}
}
이해하기 더 쉽도록 이 메서드를 다시 작성하는 것을 고려하세요.
void doSmth(User[] users) {
for (User user : users) {
if (cond1(user) || cond2(user) && cond3(user)) {
user.setId(getId());
return;
}
}
}
검사 구성:
return 지점의 최대 허용 개수를 지정합니다.return 문만 포함된 if 문입니다.equals() 메서드 내의 return 지점을 무시합니다.