return
点数超过指定最大值的方法。
一个 return
点可以是 return
语句,也可以是从 void
方法或构造函数底部的贯穿。
具有太多 return
点的方法可能会引起混淆并且难以重构。
示例:
如果只允许两个 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
点。