web-dev-qa-db-ja.com

C#の命名規則

C#で広く受け入れられている命名規則は何ですか? (関数、クラス、パラメーター、ローカル変数、名前空間など)

29
Nestor

Microsoftには、 命名に関するセクション を含む優れた クラスライブラリ設計に関する一連のガイドライン があります。要するに(括弧内の例):

  • クラス/構造体:PascalCase(WebRequest
  • インターフェース:Iプレフィックス付きのPascalCase(IDisposable
  • メソッド:PascalCase(ToUpper
  • プロパティ:PascalCase(Length
  • イベント:PascalCase(Click
  • 名前空間:PascalCase(System.Collections; 1つの部分に2つの単語があるのは珍しいですが)
  • パラメータを含む非定数変数:camelCased(keySelector
  • 定数:PascalCase(Int32.MaxValue
  • 列挙型:PascalCase、非フラグの場合は単数形、フラグの場合は複数形(HttpStatusCodeBindingFlags
  • 属性:「属性」サフィックスが付いたPascalCase(ThreadStaticAttribute

個人名はあなた次第ですが、私は他のすべてと同じ規則に従う傾向があります。多くの場所でインスタンス変数のプレフィックスとして「m_」または「_」が使用されていますが、ハンガリアン記法(Win32のスタイル)は推奨されていません。

64
Jon Skeet

Microsoftの.NET標準では、名前空間、パブリックメンバー、および保護されたメンバー(基本的に他のクラスに表示されるもの)に Pascal Case を使用します。プライベートメンバーとローカル変数の場合、あなたとあなたのチームが最も快適なことを何でもするためのはるかに広いバースがあります。

4
Rex M

Resharperのガイドラインは


  • タイプと名前空間pperCamelCase
  • インターフェースIUpperCamelCase
  • タイプパラメータTUpperCamelCase
  • メソッドのプロパティとイベントpperCamelCase
  • ローカル変数lowerCamelCase
  • ローカル定数lowerCamelCase
  • パラメータlowerCamelCase
  • フィールド(プライベートではありません)pperCamelCase
  • インスタンスフィールド(プライベート)_ lowerCamelCase
  • 静的フィールド(プライベート)_ lowerCamelCase
  • 定数フィールド(プライベートではありません)pperCamelCase
  • 定数フィールド(プライベート)pperCamelCase
  • 静的読み取り専用フィールド(プライベートではありません)pperCamelCase
  • 静的読み取り専用フィールド(プライベート)pperCamelCase
  • 列挙型メンバーpperCamelCase
  • 他のすべてのエンティティpperCamelCase
4
DL Narasimhan

作業しているプラ​​ットフォームの命名規則に従うことの価値を可能な限り過小評価しないでください。

「適合」する方法の例については、.NET Frameworkのリファレンス資料を参照してください( http://msdn.Microsoft.com/en-us/library/ms229335.aspx )。

Jon Skeetは、Microsoftによる優れた記事へのリンクを提供しています: http://msdn.Microsoft.com/en-us/library/ms229042.aspx

スタンドアロンのMicrosoftFxCop(またはTeam Editionを使用している場合はコード分析)を使用することもできます http://www.Microsoft.com/downloads/details.aspx?FamilyID=9aeaa970-f281-4fb0-aba1-d59d7ed09772&DisplayLang = en 命名規則が守られていることを確認します。 Microsoftの規則にはルールが組み込まれているため、これらを使用する必要があります。

2
Jason Kresowaty

Juval Lowyは、これが Programming .NET Components にあることを突き止めました。これも参照してください SOリンク

1
kenny

Baldwin、Gray、Misfeldtによる「 Elements of C#Style "」というスリムな本を見てみます。ブルーブックでは、命名規則や、一貫性があり、クリーンで、読みやすいコードを作成するための他の多くの側面について説明しています。

1
Paul