2012-02-13 24 views
8

list of annotations in FindBugs 2.0を見ると、それらの多くは推奨されなくなりました。FindBugs 2.0で廃止された注釈

これらの一部(@CheckForNull@NonNullなど)は、同等のJSR-305アノテーションを持っているため非推奨となっています。どのアノテーションを使用するかについてのジレンマを最終的に解決するのは良いことです。

しかし、@DefaultAnnotation@DefaultAnnotationForFieldsなどの一部のFindBugs固有の注釈も廃止されており、その代わりに何を使うべきかについての説明はありません。私は、これらのアノテーションを大量に使用するコードベースを移行しようとしています。私はちょっと立ち往生しています。

JSR-305には@ParametersAreNonnullByDefaultがありますが、これは@DefaultAnnotationForParametersのインスタンスを置き換えるために使用できますが、すべてのケースをカバーするわけではありません。

ここに大きなものがありませんか?注釈の代わりに何らかの設定ファイルや何かを使うべきですか?

答えて

8

は(注:Should annotations in jar305.jar be preferred over similar annotations in annotation.jar for FindBugs?で関連記事を参照)

著者のPDFから(here)、51ページ:

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

関連する問題