2016-08-26 5 views
1

私のプロジェクトでは、メソッドの複雑さに限界があるSonar Qubeを使用しています。Javaコードのメソッド複雑さのためのコードquaility標準は何ですか?

複雑さが10以上の場合、大きな問題が発生します。

メソッドの複雑さを定義する標準はありますか?

+0

誰もが独自のソナールール/基準を設定できます。しかし、あなたが持っているメソッドからメソッドを抽出することはできませんか? – Stultuske

+0

10が最大複雑度レベルでなければならないという基準がありますか?任意のJava標準ですか? – user3302323

+0

番号。これらはJavaの標準ではなく、Javaではなくソナーによって設定されるルールです。これらのルールは要件に応じて変更できます。 – Stultuske

答えて

7

Sonar Qubeの複雑さを判断する方法は、documentationに書かれています。アルゴリズム(呼びたい場合)は「特定のステートメントの数をカウントする」です。

コードの特定のチャンクの複雑さを決定するアルゴリズムもあります。例えば、広く知られているCyclomatic Complexityがある。 しかし、(プロジェクトまたは会社内で)メトリックと合理的な上限に合意している限り、あなたが使用するものは本当に問題ではありません。

「ツール」が正しくなく、複雑さがしきい値よりも高い場合でも問題のコードは正しい選択であることを常に忘れないでください。これは、読みやすさの理由、または単なる古いパフォーマンスの最適化のためです。

+2

通常のループや条件の代わりにJava 8のファンクションスタイルを使い始めると、うまく動作しない可能性があります。 – Thilo

関連する問題