web-dev-qa-db-ja.com

ツールをサポートする.NETで単一のコーディング標準を保証する方法

おそらく、基本的な状況は誰もが知っていることでしょう。チームの特定のコーディング標準について合意しました。ここで、すべての人がそれらを遵守するようにします。

重いペアのプログラミングを介してそれを行う人もいれば、コーディング標準のリストを維持して手動でレビューする人もいます。また、Visual Studioの静的コード分析ツールを使用して、コーディング標準が適用されていることを確認する人もいます。

コーディング標準を確実にするためのベストプラクティスは何ですか?どのツールを使用していますか?すべての開発者が知っておくべき重要なツールはありますか?コードの標準化を開発ツールにどのように統合しますか?

14
Stefan Papp

StyleCop (現在はResharperのStyleCopも)は、C#コードベース内でコーディングスタイルルールを適用するために一般的に使用されます。

これはCIビルドに統合され、違反が導入された場合にビルドエラーを引き起こす可能性があります。

15
Oded

まず、コードを継続的にビルドする適切なビルドサーバーがあることを確認します。 TFSまたはJenkins/Hudson + Msbuildが適切なオプションです。このビルドサーバーではもちろんテストを実行し、静的コード分析や構文チェッカーも実行できます。

静的コード分析には、 FxCop または Gendarme の使用をお勧めします。両方を並べて使用できます。

成功への重要な鍵の1つ:大規模なルールセットを使用してそれらを展開しないでください。あなたは何百万もの警告を受け、誰も気にしないでしょう。

経験則は次のとおりです。

  • 警告は常にありません。必要に応じて、最初にチェックのセットを減らし、すべてのスプリントに新しいチェックをいくつか追加して修正します。実行するすべてのチェックに実際の価値があり、基準と一致していることを確認してください。

  • 遵守する必要があるドメイン固有のルールがある場合は、独自のルールを実装することを恐れないでください。

構文チェックについては、Resharperを使用している場合は、StyleCopまたはStyleCop for Resharperを使用してください(これも強くお勧めします)。

6
Anders Forsgren

StyleCopと FxCop は、開発者にコードスタイルを思い出させる軽量ツールです。 Resharperも良いものですが、VSが非常に遅くなります。

私は FxCop をお勧めします。その豊富なルールライブラリには、優れたドキュメント、分類、例、その他の多くの機能が含まれています。

StyleCop Fixer ビジュアルスタジオの拡張機能も利用可能で、通常の間違いを修正するのに役立ちます。

コードメトリックは、コードスタイルによっても影響を受ける場合があります。このツールを使用して、コードの保守性を監視できます。

2
Reza Owliaei

手動レビューよりも、先に述べた自動コード分析(FxCop、StyleCopy、CIビルドなど)を最初に機能させることを強調したいと思います。自動チェックは、手動によるレビューよりもはるかに多くの情報を取得し、通常ははるかに厳密で一貫性があり、自己文書化されます。手動レビューは、より高レベルの設計決定などには役立ちますが、私の経験では、非常に主観的で無計画な場合があります。

2
Polyfun

NDependは、.NETコードベースにさまざまなコーディング標準を適用するために使用できます。参照可能な約200のデフォルトコードルール ここ があります。また、NDepend ルールは単なるC#LINQクエリ であるため、既存のルールをカスタマイズしたり、独自のルールを作成したりすることも簡単です。

免責事項:私はNDependのために働いています