http://findbugs.sourceforge.net/bugDescriptions.htmlからのすべての説明が明確であるとは限りません。確かに、私は実装を学ぶことができますが、誰かが私よりも経験豊富であれば、いくつかの説明と例が素晴らしいでしょう.
- これが問題になっているときの UI_INHERITANCE_UNSAFE_GETRESOURCE の例はありますか?
- BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR にも問題はありません。int と float など、一方の型が他方よりも「大きい」場合、結果は float になります。Integer と Float の場合、ラッパーも Float です。それが私が期待していることです。
- GC_UNRELATED_TYPES は本当にエラーを見つけるのに役立ちますか? 与えられた例をとって
Foo
、Collection<String>
. - HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS は、「Foo」がハッシュ可能でないようなものを意味します
bla(Foo f){hashtable.put(f);}
か? FingBugs はサブクラスも「見る」のですか? - NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH は NP_ALWAYS_NULL_EXCEPTION よりも強い「間違っている」? なぜ 2 つのエラー ケースと NP_NULL_ON_SOME_PATH_EXCEPTION がさらに 1 つあるのですか? 私にとても似ているように聞こえます。
- SIO_SUPERFLUOUS_INSTANCEOF の例は何ですか? のようなもの
foo(String s){if (s intenceof String) ...
。これもnullチェックを行いますが、これはここでのテストではありません... - NN_NAKED_NOTIFY. 私の意見では、説明は明確ではありません。状態の変更は必要ありません。new Object() を使用して待機して通知する場合、オブジェクトの状態は変更されません。それとも状態はロック状態ですか?理解できません。
- SP_SPIN_ON_FIELD。コンパイラがこれをループの外に移動するということは本当に起こりますか? Thread の外部からは常に値を変更できるため、これは私には意味がありません。また、変数が
volatile
JVM の場合、値をキャッシュできません。では、どういう意味ですか? - それは、STCAL_STATIC_CALENDAR_INSTANCE と STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE または STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE/STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE の違いですか?
- WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL の XXXX.class が getClass() より優れているのはなぜですか? サブクラスから呼び出されたスーパークラスの getClass() は、常にサブクラスから Class オブジェクトを返します。これは良いことだと思います。
- EQ_UNUSUAL は正確に何をしますか? 引数がクラス自体と同じ型であることを確認する必要がありますが、そうではありませんか?
- 休憩で困ったことはありませんか?SF_SWITCH_FALLTHROUGH には本当に価値がありますか? 私には強そうです。
- TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK と TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK が何であるかわかりません。