C#の識別子と命名規則

C#では、変数や型(クラス、構造体、インターフェース、列挙型など)、メンバー(フィールド、メソッド、イベントなど)、名前空間といったものにプログラマが名前を付けて管理します。
このように、名前を割り当てたものを識別子と呼びます。



命名規則

識別子は以下の規則に従って命名する必要があります。
  • 使える文字はアルファベットアンダースコア「_」・数値かな漢字も可)
  • 名前の先頭を数値にする事はできない
  • C#のキーワードとして予約された単語は使用できない
※アルファベットの大文字・小文字は区別されます(abc と Abc は別々の物)


命名ガイドライン

識別子は上記の規則に従えば自由に命名する事が出来ますが、プログラマがそれぞれのルールで名前を付けてしまうと他人が見た時に分かりにくいソースコードになってしまいます。
これを防ぐためガイドラインが定められています。
このガイドラインに従って命名する事で多くの人で共有しやすいソースコードを書くことが出来ます。


表記方法

表記の方法にはいくつかの種類があります。
表記方法概要
Pascal形式各単語の最初の文字を大文字にしそれ以外は小文字
IDのような2文字の省略形は全て大文字
XMLのような3文字以上の省略形は先頭だけ大文字
BackColor
DBRate
XmlWriter
Camel形式先頭の単語は全て小文字
それ以外はPascal形式と同じ
先頭がIDやXMLのような省略形であっても小文字
backColor
dbRate
xmlWriter


識別子の種類による表記方法の使い分け

表記方法は識別子の種類によって使い分ける事がガイドラインによって規定されています。
識別子の種類表記概要
名前空間Pascal形式[企業名].[製品名].[特徴]のように構成要素をピリオド . で区切る
 例)Microsoft.WindowsMobile.DirectX
クラスPascal形式名詞、名詞句、場合によって形容詞句
プリフィックスは使用しない
(クラスであることを示すために先頭に C を付けたりはしない)
構造体Pascal形式名詞、名詞句、場合によって形容詞句
インターフェースPascal形式名詞、名詞句、場合によって形容詞句
プリフィックスに I を使用
(インターフェースであることを示すため先頭に I を付ける)
列挙型Pascal形式
列挙値Pascal形式
メソッドPascal形式動詞、動詞句
フィールドPascal形式名詞、名詞句
プリフィックスは使用しない
(静的と非静的を区別するために先頭に g_ や s_ を付けたりはしない)
静的フィールドPascal形式名詞、名詞句
プロパティPascal形式名詞、名詞句、形容詞
イベントPascal形式動詞、動詞句
現在形と過去形を使って前後の概念を与える
例)ウインドウを閉じる前はClosing、閉じた後はClosed
パラメータCamel形式名前と型を見ただけで使用方法が判断できるような名前




コメント