問題タブ [findbugs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - FindBugsの物議を醸す説明
私はそれを間違って理解していますか、それとも説明が間違っていますか?
互換性のないオペランドのチェックに等しい(EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS)
このequalsメソッドは、引数が互換性のない型(つまり、equalsメソッドを定義するクラスのスーパータイプでもサブタイプでもないクラス)であるかどうかを確認しています。たとえば、Fooクラスには次のようなequalsメソッドがあります。
これは、対称で推移的なequalsメソッドの実装を非常に困難にするため、悪い習慣と見なされます。これらのプロパティがないと、非常に予期しない動作が発生する可能性があります。
差出人:http ://findbugs.sourceforge.net/bugDescriptions.html#EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS
説明には、Fooクラスにはそのようなequalsメソッドがある可能性があり、その後、「これは悪い習慣と見なされます」と書かれています。私は「正しい道」を得ていません。
次の方法はどのように正しくあるべきですか?
java - FindBugs: 「ストリームを閉じられない可能性があります」 - これは InputStream の場合に有効ですか?
私の Java コードでは、新しいプロセスを開始し、その入力ストリームを取得して読み取ります。
FindBugs はここでエラーを報告します:
別のプロセスの InputStream を閉じる必要がありますか? さらに、その Javadocによると、 InputStream#close() は何もしません。これは偽陽性ですか、それとも完了したらプロセスの入力ストリームを本当に閉じる必要がありますか?
java - 1 つの Java クラスに対してのみ FindBugs を実行することは可能ですか?
FindBugs Eclipse プラグインを使用していますが、プロジェクト全体ではなく 1 つのクラスだけを分析できるのではないかと考えていました。私はそれを理解できないようです。ターゲット クラスを右クリックするだけでは何も起こらないようです。
java - FindBugs-EQ_COMPARETO_USE_OBJECT_EQUALSを解決する方法
私はここで無知です...
6行目でFindBugsから取得します:Bug: net.blabla.SqlFixer$ForeignKeyConstraint defines compareTo(SqlFixer$ForeignKeyConstraint) and uses Object.equals()
これを修正する方法がわかりません。
hudson - Ant スクリプトは findbugs_result.xml を生成しますが、hudson はメイン インターフェイスに表示できません。なぜ?
build.xml の Findbugs スクリプト: Findbugs はコーディングをチェックします... Findbugs はコーディングをチェックします...
findbugs_result.xml を生成します。
hudson 用の Findbugs プラグインをダウンロードします。
hudson の findbugs_result.xml パスを入力します。
ただし、hudson はメイン インターフェイスに表示できません。なぜ?
findbugs - さまざまな FindBugs reportLevels に適用されるバグは何ですか?
Ant タスクによると、レポート レベルは低/中/高の設定で、さまざまな重大度レベルのバグを探します。ただし、どのバグがこれらの異なるレポート レベルに適用されるかを説明するものは何も見つかりませんでした。
ソース内で確認する必要がある場合でも、これを提供する場所はありますか?
java - Hudson の FindBugs プラグインは、バグの行番号「-1」を報告します。アイデア?
こんにちは。Hudson で
簡単なテスト プロジェクトをセットアップしており、プロジェクトのビルド プロセス (バッチ ファイル) によって findbugs.xml ファイルが生成されます。これは Hudson の FindBugs プラグインによって処理されますが、実際の行番号ではなく、バグの行番号が「-1」として表示されます。同僚は、コンパイラのデバッグ情報を有効にすることを提案しました。javac に -g 「すべてのデバッグ情報を生成」オプションを使用しましたが、何も変わっていないようです。私のビルドコマンドは次のとおりです。
build.bat ファイル内の他の唯一のものは、FindBug ツール (テキスト UI) への呼び出しです。最初のバグについて、FindBugs プラグインは次のように述べています。
何か案は?ありがとうございます!
findbugs - バグ データベースの 2 つのリビジョン間で削除されたバグを示す FindBugs レポートを生成するにはどうすればよいですか?
作成したバグ データベースに対して FindBugs コマンド filterBugs と convertXmlToText の組み合わせを実行して、作業中のシステムの 2 つのリビジョン間で削除されたすべてのバグを示すレポートを生成しようとしています。残念ながら、結果のレポートにはバグの詳細が表示されません。convertXmlToText は、死んでいる (つまり非アクティブな) すべてのバグを破棄しているようです... 私が見たいバグの正確なセットです。以下は、filterBugs コマンドの結果を mineBugHistory コマンドに渡すときに表示されるものです。
HTML レポートで確認したいのは、バージョン r39764 (シーケンス # 0) でアクティブとして示されている 64 個のバグのリストです。以下は、HTML レポートを生成するために使用しているコマンド ラインです。
java - これらの FindBug メッセージは何を示していますか?
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 が何であるかわかりません。
java - これらの FindBugs プレフィックス AM、BC、DP はすべて、何を意味するのでしょうか?
http://findbugs.sourceforge.net/bugDescriptions.htmlには、エラー タイプの長いリストが含まれています。それらは正確性やパフォーマンスのようなカテゴリに属しますが、プレフィックスでも始まります。SQL や BIT と同じように、等価性の EQ は明らかです。しかし、いくつかの不可解な。これらすべてのプレフィックスが意味するリストはありますか?