그래서 SonarLint에 접근하는 방법이 확실치 않은 문제가 있습니다. "Null 포인터를 참조 해제해서는 안됩니다 (squid : S2259)"규칙 문제?
이의 내가 sonarLint이 클래스 분석 할 때 내가하는 방법public class Class(RemoteContext context)
RemoteContext context = context;
public void String method(String data) {
if(data == null)
context.raiseException("data can't be null");
//do stuff with data like data.get();
}
을 가진 클래스가 있다고 가정 해 봅시다 (3.2.) 내가 널 포인터가 문제를 역 참조해서는 안 얻을.
내 질문은. 이 문제를 해결하는 방법? context.RaiseException
은 메소드 실행을 중지하므로 거짓 긍정이라고 생각합니다.
응용 프로그램에는이 문제가있는 많은 사례 (클래스/메서드)가 있습니다. 그래서 주석이 잔인한 코드라고 생각합니다. 각 raiseException()
호출 후에도 입력 할 수 있지만 "프로그래머 방식"이 아닌 느낌입니다.
나는 내 규칙을 쓰는 것이 가장 좋을 것이라고 추측하고 있습니다.
저는 주제를 살펴보고 인터넷 검색을 해봤지만 실제로 소나가하는 것의 "반대"를해야 할 때 이런 경우에 유용한 것을 찾지 못했습니다. 문제를 제기하는 것이 아니라 그 방법에 "녹색 불빛"을주는 것입니까?
바라건대, 나는이 문제에 대해 충분히 분명히 밝혔습니다.
'RemoteContext # raiseException' 메소드의 서명은 무엇입니까? –
하나 이상. 정확히 6 개의 다른 것들 – user3219947
위 중 하나만 사용되어 관련성이 있습니다. –