回答:
Stylecopは、ソースコードレベルで機能するスタイル分析ツールです。これは主に、管理されたプロジェクトが、管理されたソフトウェアのより広い世界で一貫性を保つために使用できる単一の共通スタイルを提供するために存在します。それは主に聖戦を避けるためにスタイルに関する決定をします(結局のところ、スタイルはほとんど常に本質的に主観的なものです)。StyleCopのルールをすべて気に入った人に会ったことはないと思いますが、大丈夫ですです。つまり、StyleCopは、存在する膨大な一連のスタイルガイドラインの中で、一般的に適切な妥協案です。(stylecopのルールが高度にカスタマイズ可能である場合、単にそれらを有効化/無効化するだけでなく、ツールの目的全体を無効にします。)
一方、FxCopは、マネージアセンブリのレベルで機能する静的分析ツールです。コード要素の属性を見ることができるため、属性を介して方向を指定できます。構文レベルとは対照的に、「バイナリ」レベル(以前のレベル)で見られる問題を検出します。
あなたの質問に答えるために、StyleCopはFxCopに取って代わりません、そしてFxCopはstylecopに取って代わりません。これらは、2つの異なる目的を持つ2つの異なるツールであり、どちらもコードに真の利益をもたらします。
(別名、私は両方で実行します。:))
一方が検出する可能性のあるものと、他方が検出する可能性のあるもののいくつかの例:
StyleCop違反には、空白、フォーマット、xml-commentsを介したパブリックメソッドドキュメント、クラス内のメソッド定義の順序に関連する警告が含まれる場合があります。
FxCop違反には、グローバリゼーション、密結合、循環的複雑度、null逆参照の可能性に関する警告が含まれる場合があります。
stylecopはC#ソースコードで動作します。fxcopは、.net言語からコンパイルされたコードを調べます。
の代替または優れた補完 FxCop / StyleCopは、商用ツールNDependを使用することです。このツールを使用すると、LINQクエリ (つまりCQLinq)を介したコードルールを記述できます。免責事項:私はツールの開発者の1人です
以上の200個のコードのルールは、デフォルトで提案され、これらは、デザイン、建築、コード品質、コードの進化、命名規則を、デッドコード、.NET Fxの使用量を ...
CQLinqは、 、Visual Studioでライブ検証、またはビルドプロセス中に検証してHTML / JavaScriptレポートで報告。
FxCopやStyleCopよりもCQLinqが優れている点は、コードルールを記述して、すぐに結果を取得できることです。一致したコード要素を閲覧する機能が提案されています。具体的には、次のようになります。
StyleCopがソースコード分析を実行することは、あまり設定できません。コンパイルされたコードを分析するFxCopと実際には同じことをしません。
これらに関するウィキペディアの記事は、違いの良い要約を提供します: