2012-02-13 30 views
8

Nhìn vào list of annotations in FindBugs 2.0, tôi thấy rằng rất nhiều chú thích không được chấp nhận.Chú thích không được chấp nhận trong FindBugs 2.0

Một số trong số này (@CheckForNull, @NonNull, v.v.) đã không được chấp nhận vì chúng có chú thích JSR-305 tương đương. Tốt để cuối cùng giải quyết tình trạng khó xử về tập hợp các chú thích để sử dụng.

Nhưng một số chú thích cụ thể của FindBugs, chẳng hạn như @DefaultAnnotation@DefaultAnnotationForFields, cũng đã không còn được dùng nữa và tôi không thể tìm thấy bất kỳ giải thích nào về những gì cần sử dụng tại địa điểm của chúng. Tôi đang cố gắng di chuyển một codebase sử dụng nhiều chú thích này và tôi hơi bị kẹt.

Tôi thấy JSR-305 có @ParametersAreNonnullByDefault, mà tôi có thể sử dụng để thay thế một số phiên bản @DefaultAnnotationForParameters, nhưng điều đó sẽ không bao gồm tất cả các trường hợp.

Tôi có thiếu thứ gì đó lớn ở đây không? Tôi có nên sử dụng một số loại tập tin cài đặt hoặc một cái gì đó, thay vì chú thích?

Trả lời

8

(lưu ý: xem một bài báo liên quan tại Should annotations in jar305.jar be preferred over similar annotations in annotation.jar for FindBugs?)

Từ PDF của tác giả (here), trên trang 51:

JSR-305 sẽ chỉ xác định ParametersAreNonnullByDefault, nhưng hơn có thể được định nghĩa bên ngoài JSR-305

• và có thể được giải thích bằng máy phân tích tĩnh giải thích chú thích JSR-305

... về cơ bản, bạn có thể tự xác định và đặt tên giống với tên bạn đang thay thế và nó sẽ hoạt động tốt vì FindBugs chỉ chạy chú thích theo tên (và có thể thích JSR hơn) 305 chú thích, có thể do sự phản đối đặc biệt).

Ví dụ: here là nguồn của @ParametersAreNonnullByDefault.

Để biết thêm thông tin, bạn có thể cần gửi email cho tác giả của JSR-305 và FindBugs: Bill Pugh (here là trang web của anh ấy). Ngoài ra, sự cố đã được thêm vào trình theo dõi lỗi Sourceforge (here).

+0

Cảm ơn bạn đã liên kết PDF! Mọi thứ tôi muốn biết là ở đó. –

+0

+1000. Tôi không thể cảm ơn đủ cho câu trả lời này. – Gili

Các vấn đề liên quan