PMD では、特定の警告を無視したい場合、// NOPMD
その行を無視するために使用できます。
FindBugs に似たようなものはありますか?
PMD では、特定の警告を無視したい場合、// NOPMD
その行を無視するために使用できます。
FindBugs に似たようなものはありますか?
FindBugs の最初のアプローチには、フィルターとも呼ばれる XML 構成ファイルが含まれます。これは PMD ソリューションほど便利ではありませんが、FindBugs はソース コードではなくバイトコードで機能するため、コメントは明らかにオプションではありません。例:
<Match>
<Class name="com.mycompany.Foo" />
<Method name="bar" />
<Bug pattern="DLS_DEAD_STORE_OF_CLASS_LITERAL" />
</Match>
ただし、この問題を解決するために、FindBugs は後に、クラスまたはメソッド レベルで使用できるアノテーション(参考文献を参照)に基づく別のソリューションを導入しましSuppressFBWarnings
た (私の意見では、XML よりも便利です)。例(おそらく最良のものではないかもしれませんが、まあ、それは単なる例です):
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
value="HE_EQUALS_USE_HASHCODE",
justification="I know what I'm doing")
FindBugs 3.0.0SuppressWarnings
は@SuppressFBWarnings
、Java のSuppressWarnings
.
XML フィルターのより完全な例を次に示します (上記の例はスニペットを表示するだけで、<FindBugsFilter>
開始タグと終了タグがないため、それ自体では機能しません)。
<FindBugsFilter>
<Match>
<Class name="com.mycompany.foo" />
<Method name="bar" />
<Bug pattern="NP_BOOLEAN_RETURN_NULL" />
</Match>
</FindBugsFilter>
Android Studio FindBugs プラグインを使用している場合は、[File] -> [Other Settings] -> [Default Settings] -> [Other Settings] -> [FindBugs-IDEA] -> [Filter] -> [Exclude filter files] -> [Add] を使用して、XML フィルタ ファイルを参照します。
Gradle の更新
dependencies {
compile group: 'findbugs', name: 'findbugs', version: '1.0.0'
}
FindBugs レポートを見つける
file:///Users/your_user/IdeaProjects/projectname/build/reports/findbugs/main.html
特定のメッセージを見つける
正しいバージョンの注釈をインポートする
import edu.umd.cs.findbugs.annotations.SuppressWarnings;
問題のあるコードのすぐ上に注釈を追加します
@SuppressWarnings("OUT_OF_RANGE_ARRAY_INDEX")
詳細については、こちらを参照してください: findbugs Spring Annotation
これをここに残します:https://stackoverflow.com/a/14509697/1356953
java.lang.SuppressWarnings
これは で機能するため、別の注釈を使用する必要がないことに注意してください。
フィールドの @SuppressWarnings は、そのフィールドに関連付けられたすべての警告ではなく、そのフィールド宣言に対して報告された findbugs 警告のみを抑制します。
たとえば、これは「フィールドのみが null に設定されている」という警告を抑制します。
@SuppressWarnings("UWF_NULL_FIELD") 文字列 s = null; あなたができる最善のことは、警告のあるコードを可能な限り最小のメソッドに分離し、メソッド全体で警告を抑制することだと思います。