PVS-Studioは、C、C ++プログラムのコードのエラーを検出する静的コードアナライザーです。 最近、アナライザーは新しいフィールド-C#をマスターしました。 歴史的に、ReSharperはC#のヘルパーツールの中で君臨していました。 このツールは生産性ツールのカテゴリに属し、古典的な意味では静的コードアナライザーではありません。 ただし、ReSharperはさまざまなチェックを実行し、コードの疑わしいセクションに色を付けることができます。 したがって、プログラマに対する疑問は必然的に生じます。「ReSharperを既にお持ちの場合、PVS-Studioに目を向けることは理にかなっていますか?」
回答:はい! この答えは確かです。 しかし、ここでは、機会を比較する単純な記号でこれを正当化することは不可能です。 そのような兆候が問題にならないようにしてください。 しかし、詳細な比較を行うことを誓いました。 人生が示すように、そのような比較を書くことは、それを改善するのではなく、むしろカルマを台無しにします。
たとえば、PVS-StudioとCppcheckおよびVisual Studio SCAを比較した経験があります。 多くの時間と労力が費やされました。 結果は、 簡潔で詳細なバージョンで提示されました。 その後、怠zyな人だけが、私たちがすべて間違ったことを書いたり、検証のために特別に選択されたプロジェクトのおかげで比較が不公平であると書いたりしませんでした。
このような比較に時間を無駄にする理由はもうありません。 どれほど慎重かつ正直に彼にアプローチしても、比較には偏りがあったと言うことができます。
ただし、ReSharperについて尋ねる人に何か答える必要があります。 優れた比較オプションを提供できます。
すでにReSharperを使用していますか? いいね! PVS-Studioをインストールして、プロジェクトのエラーを見つけてください!
これは、PVS-Studioを使用する利点の最良のデモンストレーションです。 ところで、反対はありません。 ツールは互いに完全に補完できます。
読者は言うだろう-さて、新しいツールは痛くないだろう。 しかし、C#ツール市場に参入できますか? ここでは、すべてが長い間占有され、分割されています。 誰かがC#用のPVS-Studioを必要としますか? 開始するには、答えは次のとおりです。
「 確かに死。成功の可能性はない。だから、私たちは何を待っているのか!? 」( en )。
実際、「PVS-Studioアナライザーは必要ですか?」という質問にすでに直面しています。 この質問は、PVS-Studioアナライザーが若く、C ++プログラマの間で人気を得る必要があったときに聞こえました。 既に存在しているため、別のツールの外観には意味がありません。
- 静的アナライザーの機能を実装するコンパイラー。 たとえば、Visual Studioの一部のエディションには、静的なC ++コードアナライザーが含まれています。 それでも、たとえば、Clangがあります。
- Cppcheckのような無料のコードアナライザーがあります。
- Coverity、Klocworkなどの強力な有料ツールがあります。
それでは、「PVS-Studio for C ++」が必要なのはなぜですか? そして、私たちはこの質問に答えることができませんでした。 今答えるべきことは何もありません。 しかし、この質問はもはや重要ではありません。 PVS-Studioアナライザーがもたらす利点を簡単に実証できます。
他のツールがあるかないかにかかわらず、これ以上の違いはありません。 私たちはプログラムに何千ものエラーを発見しましたが、そこには証拠書類があります 。 他のツールが存在するにもかかわらず、これらのエラーを発見しました。 競争上の利点について話すことができる限り。 しかし、私たちは興味がありません。 Chromium、Qt、LibreOffice、TortoiseSVN、Unreal Engine 4などのプロジェクトで見つかった9355個のエラーを次に示します。
さらに、特定のツールとの比較が必要な場合にリンクを提供できるようになりました。
- たとえば、Clangよりも優れている理由を知りたい人がいます。 素晴らしい。 すべてが非常に簡単です。 Clangにエラーが見つかりました: リンク1 、 リンク2 。
- PVS-Studioアナライザーを使用するのが理にかなっているのか、Visual Studioに実装されているアナライザーに制限するのかを知りたい人がいます。 もちろん、ポイントがあります。 Visual Studioのライブラリでエラーを見つけることは何もありません: 2012、2013 。
- 無料のCppcheckがある場合、PVS-Studioを購入する価値はありますか。 もちろん。 このテーマに関する比較記事があり、誰もがscりました。 したがって、別の方法で可能です: リンク 。
- Coverity / Klocworkがあらゆる場面で十分であると誰かが確信しています。 間違いなく、これらは強力で非常に便利なツールです。 しかし、PVS-Studioは、これらのツールに表示されないもの( リンク1 、 リンク2)を見つけることができるため、気にしません。
C#アナライザーでは、この旅の始まりに過ぎません。 控えめに宣言することもできますが:
- Roslynプロジェクトにバグが見つかりました 。
- とにかく、ソースコードの品質が高いことで有名なMicrosoftのプロジェクトでエラーが見つかりました。 少なくとも何かを見つけることは、すでに大きな成果です。 例: CoreFX 、 Microsoftコード契約
少し待って、比較の質問が消えます。 いいえ、待ってはいけません。 アナライザーを使用できますし、使用する必要があります。 彼を若くしてみましょう。これまでのところ、計画された診断のほんの一部しか実装していません。 しかし今、彼は利益を得ることができます。 コンパイル後に自動検証を試してください。 楽しんでいただければ幸いです。 何かが間違っている場合- 書き込み 、私たちは非常に積極的にレビューや提案に取り組んでいます。
結果 。 ReSharperを使用するかどうかに関係なく、PVS-Studioアナライザーをダウンロードして試してみることができます。 彼があなたのプロジェクトでエラーを見つけた場合、これは彼の有用性の最高の証拠になります。 単一のチェックが意味をなさないことを忘れないでください。 コードアナライザーの利点は、定期的に使用する場合のみです。 アナライザーがこれを行うことができる場合、コードをデバッグしてタイプミスやエラーを探すのは非効率的です。 もちろん、彼はすべての間違いを見つけることはできませんが、その状態でタイプミスを見つけるよりも、もっと役立つことで多くの時間を節約できます。