2016-05-23 13 views
4

Javaプロジェクトでは、ソースコードアナライザPMDを使用しています。報告された問題を解決しようとしており、現在はGodClassのルールで苦労しています。私はそのアイデアが巨大なクラスを作ることではないことを知っています。PMDルール神クラス - メトリクスの理解

しかし、あまりにも漠然としているので「巨大」という言葉は好きではありません。誰もこのルールのメトリックがどのように機能するか説明できますか?レポートには、

Possible God class (WMC=47, ATFD=11, TCC=0.06315789473684211)

すべてのこれらの数字は何を意味するのですか?誰かが特定のクラスが巨大かどうかを決定する公式を知っていますか?このルールに

Javadocは規則[1]に記載の検出戦略を使用

を述べています。違反はクラス全体に対して報告されます。 [1]ランサ。オブジェクト指向メトリクスの実践80ページ

はまあ、私はちょうどところで、そのページの80

いくつかの本を注文する習慣はありません。そのようなルールを設定する方法、つまりそのパラメータを変更する方法はありますか?

ありがとうございます。

+0

Amazonはあなたがその本の中を見ることを可能にします。 –

+0

私はAmazon Lookをよく知っていません。私はちょうどそれを今試しました。この本の完全版を見ることはできないようです。はじめに章のみが利用可能です。 – Cimlman

答えて

6
  • WMC =加重方法が
  • ATFD =外国人のデータへのアクセス
  • TCC =タイトクラス凝集

ベースラインのカウントが一定の値として定義されているように見えます。詳細を知りたい場合は、実装hereがあります。

0

WMCは、クラスごとの加重メソッド数または加重メソッドを表します。 WMCメトリックは、クラス内で宣言されたすべてのメソッドの複雑さの合計として定義されます。このメトリックは、特定のクラスを維持し開発するためにどれくらいの労力が必要かを示す良い指標です。

ATFDは、外部データへのアクセスを表します。このメトリックは、指定されたクラスが属性にアクセスする外部クラスの数を直接またはアクセサメソッドを使用して表します。

TCCは、タイトなクラス凝集力を表します。 TCCは、属性のアクセスを介して直接接続されたメソッドの相対数です。

codeは、WMC> = 47、ATFD> 5およびTCC < 1/3の場合、違反を引き起こします。

あなたは練習でオブジェクト指向メトリックにpage 55に神クラスについて読むことができます(とあなただけの1ページを読むために本を購入する必要はありません)。 PMD documentationも読むことができます。

関連する問題