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;
      }
    }
  }

インスペクションの構成: