SonarQube squid:S107 メソッドのパラメータが多すぎます。


長いパラメータリストは、多数のパラメータをラップするために新しいデータクラスを作成する必要があること、または関数が多くのことを行っていることを示しています。

違反コード例

パラメータの最大数 4:

public void doSomething(int param1, int param2, int param3, String param4, long param5) {
...
}

準拠方法

public void doSomething(int param1, int param2, int param3, String param4) {
...
}

例外

Springの@RequestMappingでアノテーションを付けられたメソッドには、多くのパラメータがあり、カプセル化が可能です。したがって、そのようなメソッドは 無視されます。

補足事項

  • この内容は以下の、squid の説明文を日本語翻訳したものです。

    sonar-java/S107_java.html at master · SonarSource/sonar-java

  • リンク化したら使いやすいかもしれないので、1ルールごとに1ページ化しています。

  • こちらに原本はあります。

    • コメント