return ポイントの数が指定された最大値を超えているメソッドを報告します。
return ポイントが多すぎるメソッドは混乱を招き、リファクタリングしにくい可能性があります。
return ポイントとは、return ステートメントか、void メソッドまたはコンストラクターの最下部に到達することを指します。
例:
2 つの 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 ポイントの制限」フィールドを使用します。return ステートメントのみを含む if ステートメントのことです。equals() メソッド内の return ポイントを無視するには、「'equals()' メソッドを無視」オプションを使用します。