素晴らしい本「フレームワーク デザイン ガイドライン」(2008 年 11 月の第 2 版) の付録 A「C# コーディング スタイルの規則」を読んだ後、Microsoft が内部で使用している/推奨しているコーディング スタイルについてかなり混乱しています。
ブログ エントリA Brief History Of C# Styleは次のように主張しています。
実際、「StyleCop スタイル」と「フレームワーク デザイン ガイドライン スタイル」の違いは比較的小さいものです。
私が見る限り、違いはかなり顕著です。StyleCop では、開き括弧は別の行にある必要があると述べていますが、Framework Design Guidelines では、開きステートメントの後にある必要があります。StyleCop では、すべてのキーワードの後にスペースが必要であると規定されています。フレームワーク デザイン ガイドラインでは、「すべてのスペースを削除する」(2 項演算子の周りであっても) と規定されています。
フレームワーク設計ガイドラインの本から、このルールは特に皮肉だと思います (366 ページ、上から 6 番目のルール):
フロー制御ステートメントの前にスペースを使用しないでください
Right: while(x==y) Wrong: while (x == y)
これは、StyleCop スタイルが間違っていることを明示的に示しています(while キーワードの後のスペース、等値二項演算子の前後のスペース)。
最後に、StyleCop スタイルを使用してフォーマットされたコードは、フレームワーク デザイン ガイドライン スタイルを使用してフォーマットされたコードとはまったく異なる "感触" を持っています。フレームワーク デザイン ガイドライン スタイルに従うことで、一連のルールを無効にする必要があります (フレームワーク デザイン ガイドライン スタイルへの準拠をチェックするルールはありません...)。
誰か (おそらく MSFT のインサイダー?) が、この相違点に光を当てることができますか?
あなたのチームはこれにどのように対処していますか? StyleCopをフォローしていますか?フレームワークの設計ガイドライン? スタイルを完全に無視しますか?あなた自身のスタイルを焼きますか?