ビルドと分析が完璧ではないことを何度も読みました。実行すると、いくつかの有用な情報が得られ、コードが確実に改善されましたが、必要な問題ではない結果も得られます。現在、コードを変更して、問題があるかどうかにかかわらず、Analyzer のすべての結果を削除しようとしています。警告のように問題があることを簡単に確認できるため、これがベスト プラクティスでしょうか。それとも、アナライザーが完全ではないことを認識し、真の問題が検出されない限りコードを変更しないようにする必要がありますか?
3 に答える
まず第一に、コンパイラの警告はすべて、実行時にのみ表示される単なるエラーです。これらはコンパイルを妨げませんが、最終的にどこかで重大な問題を引き起こすことになります。ビルド設定に移動し、「警告をエラーとして扱う」をチェックして、結果として生じるエラーを修正する必要があります。そうしないと、後で問題をデバッグするのに苦労することになります。
アナライザーは完璧ではありませんが、検出された問題を詳しく調べる必要があります。コードで検出された問題はすべて修正する必要があります。場合によっては、API からエラーが報告され、それらに対して何もする必要がない場合があります。
ほとんどの場合、コンパイラーのどの段階からのエラーも無視することは、「非常に賢明で愚かな」時間の節約になります。前もって保存すると、後でデバッグが失われます。
はい - 理想的には、分析プロセスで発生したすべての問題を修正する必要があります。
しかし、clang
それは素晴らしいことですが、完璧ではありません。場合によっては、誤検知が発生することがあります。これが事実であり、診断がエラーであると確信している場合は、エラーを示す可能な限り最小のテスト ケースを再作成して、http://clang-analyzer.llvm.org/filing_bugs に送信してください。 htmlを修正して、分析エンジンを改善できるようにします。