オブジェクトとパッケージ間のカップリングに関するルールセットです。
※PMD 3.9に対応しています。
CouplingBetweenObjects
ひとつのオブジェクトの中で使用しているフィールド、ローカル変数、返却値のクラス種類が
多すぎないかチェックします。
チェック対象外とするクラス種類の最小値を指定する場合は
<property name=”threshold” value=”20″ />
を指定します。
デフォルト値は20です。
import com.Blah;
import org.Bar;
import org.Bardo;
public class Foo
{
private Blah var1;
private Bar var2;
void ObjectC doWork()
{
Bardo var55;
ObjectA var44;
ObjectZ var93;
return something;
}
}
ExcessiveImports
インポート文が多すぎないかチェックします。
チェック対象外とするインポート文の最小値を指定する場合は
<property name=”minimum” value=”30″ />
を指定します。
デフォルト値は30です。
import blah.blah.Baz;
// …
import blah.blah.Bif;
public class Foo
{
public void doWork()
{
}
}
LooseCoupling
インターフェイス(例:Set)ではなく、実体クラス(例:HashSet)で宣言している箇所がないかチェックします。
import java.util.*;
public class Bar
{
// Listで宣言すべきです
private ArrayList list = new ArrayList();
// Setで宣言すべきです
public HashSet getFoo()
{
return new HashSet();
}
}
コメント