- ソース コード アナライザーを使用していますか? もしそうなら、どれがどの言語発達のために?
- コードの潜在的なバグを解決するのに役立つと思いますか? それとも、彼らの警告のほとんどは取るに足らないものですか?
- 長期間使用した後、コードの品質が以前よりも高くなったと思いますか?
7 に答える
私はJavaでいくつかの静的分析ツールを使用しています。FindBugsは防御の最前線であり、多くの一般的なエラーをキャッチし、非常に有用なフィードバックを提供します。疲れたプログラマーのばかげた間違いを見つけることが多く、ユーザーに大きな負担をかけることはありません。
PMDは、他の多くの厄介なバグには適していますが、より多くの構成が必要です。多くの場合、PMDのデフォルトが上回っています。小規模ではおそらく有益であるが、最終的には他のプログラマーがコードを維持するのに役立たないルールが多すぎます。一部のPMDルールは、時期尚早の最適化に失敗することがよくあります。
おそらくもっと便利なのは、PMDでのCPDサポートです。リファクタリングをはるかに簡単にするために、他の場所で複製されたコードを見つけようとします。プロジェクト全体を実行します。これは、コードをクリーンアップしてDRY違反を阻止するための最優先事項を特定するのに役立ちます。
Checkstyleも便利で、コーダーがコーディングスタイルの標準に準拠していることを確認できます。PMDと少し重複していますが、一般的にはるかに使いやすくなっています。
最後に、Coberturaは優れたテストカバレッジスイートです。単体テストが不足している場所や、新しいテストの作成を優先する必要がある場所を見つけるのに非常に便利です。
ああ、そして私も道化師をテストしてきました。コードにある程度のカバレッジがある場合でも、テストの穴を見つけるのにかなり適しているようです。まだ十分に使用していないという理由だけで、まだお勧めしませんが、テストするためのものです。
これらのツールは、Eclipse内から、および自動ビルドスイートの一部として実行します。
私はPC-LintforCおよびC++の長期ユーザーであり、非常に役立ちます。これらのツールは、慣れていないコードベースを引き継ぐときに最も役立ちます。時間が経つにつれて、収穫逓減の法則にぶつかります。そこでは、見つけた新しいバグの数が減少する傾向があります。
私は常に大きなリリースで完全なプロジェクトのリントを続けています。
編集:ウィキペディアに関連ツールの素晴らしいリストがここにあります
Cには、MEMWATCHを使用します。それは本当に使いやすく、無料です。
私は過去に多くのメモリバグを見つけるためにそれを使用しました。
ReSharperにはかなり満足しています。コーディング中に役立つ情報を提供するだけでなく (不要なキャスト、読み取り専用の適用など)、そのリファクタリング機能はコードを非常に迅速に再配置するのに優れています。
すべてをカバーしているわけではないため、FxCop (または類似のもの) はツールボックスに適切に追加されています。ただし、Resharper はすぐにフィードバックを提供するため、ターンアラウンド タイムは非常に優れています。(FxCop は VS から実行できることは承知していますが、同じではありません)。