Sonar Lintのルール "メソッドが複雑すぎるはずはありません"(squid:MethodCyclomaticComplexity)には、プログラムブロックで複数のreturn文を使用する例があります。 (cyclormatic複雑計算ルールのhttps://groups.google.com/forum/#!topic/sonarqube/BtvGoF6Tw7E参照)複数の返品をすることは悪い習慣ですか?
戻りブランチのコードを短く、小さいコードブロックをもたらします。たとえば、
int findBranchNumber(String input) { if ("branch1".equals(input)) { return 1; } if ("branch2".equals(input)) { return 2; } // .... return -1; }
代わりに、(この場合は)メソッド変数またはそれ以上のブロックを使用します。コードを読む人は、最初の3行だけが "branch1"に関連していることを理解する前に、メソッド全体を読み取らなければなりません。
助言してください...
'if'文はいくつありますか? 'Map 'を使うことはここでは改善されると主張することができます。 –
あなたは正しいです。このような翻訳作業には、ルックアップマップが適しています。 – user2995767