2012-02-13 4 views
8

list of annotations in FindBugs 2.0을 보면, 그 중 많은 부분이 더 이상 사용되지 않습니다.FindBugs 2.0에서 더 이상 사용되지 않는 주석

일부 (@CheckForNull, @NonNull 등)는 동일한 JSR-305 주석이 있기 때문에 사용되지 않습니다. 어떤 주석 집합을 사용할 지에 대한 딜레마를 마침내 해결하는 것이 좋습니다.

그러나 일부 FindBugs 별 주석 (예 : @DefaultAnnotation@DefaultAnnotationForFields)은 사용되지 않으며 해당 위치에서 사용할 내용에 대한 설명을 찾을 수 없습니다. 나는 이러한 주석을 많이 사용하는 코드베이스를 마이그레이션하려고하는데, 나는 조금 붙어있다.

JSR-305에는 @ParametersAreNonnullByDefault이 있는데, @DefaultAnnotationForParameters의 일부 인스턴스를 대체하는 데 사용할 수 있지만 모든 경우를 다루지는 않습니다.

여기에 큰 것이 누락 되었습니까? 주석 대신에 어떤 종류의 설정 파일이나 뭔가를 사용해야합니까?

답변

8

은 (주 : Should annotations in jar305.jar be preferred over similar annotations in annotation.jar for FindBugs?에서 관련 기사 참조) 51 페이지, 저자의 PDF (here)에서

을 :

JSR-305은 ParametersAreNonnullByDefault, 하지만, 더 많은 정의 할 것은 정의 할 수 있습니다 외부 JSR-305

• 및 JSR-305 주석을 해석 정적 분석기 에 의해 해석 될 수

... 기본적으로 사용자가 직접 정의 할 수 있으며 바꿀 이름과 동일한 이름을 지정하면 FindBugs는 이름으로 주석을 실행하기 때문에 JSR- 305 주석, 아마도 특히 비추천으로 인해).

예를 들어, here@ParametersAreNonnullByDefault의 소스입니다.

자세한 내용은 JSR-305 및 FindBugs : Bill Pugh (here은 그의 웹 사이트)의 작성자에게 전자 메일을 보내야 할 수도 있습니다. 또한이 문제점은 Sourceforge 버그 추적기 (here)에 추가되었습니다.

+0

PDF 링크를 보내 주셔서 감사합니다! 내가 알고 싶었던 모든 것이 거기에 있었다. –

+0

+1000. 나는이 대답에 대해 충분히 감사 할 수 없다. – Gili

관련 문제