PMD – Couplingルール・セット

オブジェクトとパッケージ間のカップリングに関するルールセットです。
※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();
    }
}

コメント

Copied title and URL