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 点。