프로젝트의 코드 스타일을 확인하기 위해 CodePro Anlaytix (Eclipse 플러그 인)를 테스트하고 있습니다. CPA는 setter의 변수 "titleParam"및 "descParam"에 대해 "변수에 null 값이 있습니다"라고 알려줍니다. 여기 CodePro Analytix - 감사 규칙 "Null 값이있는 변수"가 없습니다.
/**
* 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의 문서에서) 룰의 요약이다 : 여기서
는 클래스의
널 값을 갖도록 보장하고 식에 사용되는 변수 프로그래머가 변수를 실제 값으로 초기화하는 것을 잊어 버렸음을 나타낼 수 있습니다.
규칙은 "변수가 null 값을 가지고"활성화되고 이것이 (CPA의 문서에서)이 규칙에 의해 체포 될 코드의 예입니다, 나는 예를 얻을
public boolean myMethod(String param)
{
String tmp = null;
if (tmp.equals(param)) {
return true;
} else {
return false;
}
}
하지만 왜 setter의 매개 변수가 null이라고 말합니까?
나는 규칙을 비활성화했다. 세터는 아무데도 호출되지 않았고, 내 프로젝트에는 CodePro를 테스트하는 데 단 하나의 클래스 만있었습니다. CodePro는 여전히 흥미 롭습니다. findbugs, codestyle 및 metrics 사이의 매쉬입니다. :) – mrmuggles