長いパラメータリストは、多数のパラメータをラップするために新しいデータクラスを作成する必要があること、または関数が多くのことを行っていることを示しています。
違反コード例
パラメータの最大数 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ページ化しています。
コメント