10

Sonar では、特定の Java クラスについて、次のように表示されます。

Complexity:     830

Complexity /method:     8,1

これら 2 つの指標の違いをどのように説明できますか?

「複雑さ」はクラスの複雑さですか?

クラスの最大複雑度はどれくらいですか? メソッドの複雑さは 10 未満でなければならないことはわかっていますが、クラスが複雑でないと見なされるクラスの複雑さの最大数はいくつですか?

ありがとう。

編集

また、ファイル内の Cyclomatic-Complexity ルール違反も確認します。

多くの方法について、ソナーはさまざまな複雑さの数値で言います(フランス語で):

「La complexitécyclomatique de la classe est de 28 alors que le maximum autorisé est de 10.」

英語で :

「クラスの循環的複雑度は 28 ですが、許容される最大値は 10 です」。

「メソッドの循環的複雑度」のように見えるのに、「クラスの循環的複雑度」と表示される理由がわかりません。

また、問題のクラスは、平均的な複雑さ/メソッドによってソートされた最も複雑なクラスの上には表示されません。

4

1 に答える 1

6

Sonar にあるメトリックの意味について詳しくは、「メトリック定義」Wiki ページ (より具体的には「複雑さ」セクション) を参照してください。

  • 「複雑さ」はリソースの複雑さの合計です (ファイルの場合 => ファイルで定義されているすべてのクラスの複雑さの合計)
  • 「複雑さ / メソッド」は、「複雑さ」をファイル内のメソッドの数で割ったものです。
  • ...その他の指標についても同様です。
于 2012-04-25T15:22:25.707 に答える