プロジェクトのコード スタイルをチェックするために、CodePro Anlaytix (Eclipse プラグイン) をテストしています。セッターの変数「titleParam」と「descParam」の「変数にnull値があります」とCPAは教えてくれます。
クラスは次のとおりです。
/**
* fdas fsda fsda fsa
* @version 1.0
*/
public class CodeProItem {
/**
* Field title.
*/
private String title;
/**
* Field desc.
*/
private String desc;
/**
* Method getTitle.
* @return String
*/
public String getTitle() {
return title;
}
/**
* Method setTitle.
* @param titleParam String
*/
public void setTitle(String titleParam) {
this.title = titleParam;
}
/**
* Method getDesc.
* @return String
*/
public String getDesc() {
return desc;
}
/**
* Method setDesc.
* @param descParam String
*/
public void setDesc(String descParam) {
this.desc = descParam;
}
}
ルールの概要は次のとおりです (CPA doc から)。
null 値を持つことが保証され、式で使用される変数は、プログラマーが実際の値で変数を初期化するのを忘れたことを示している可能性があります。
「Variable has null value」というルールがアクティブ化され、これはこのルールによってキャッチされるコードの例です (CPA doc から):
public boolean myMethod(String param)
{
String tmp = null;
if (tmp.equals(param)) {
return true;
} else {
return false;
}
}
例はわかりましたが、セッターのパラメーターが null であると表示されるのはなぜですか?