SSブログ

命名規則 [- C#]

C#における命名規則をメモ。

C#においては、Pascal形式、もしくはCamel形式が推奨。
下記から引用してmemoしています。
https://msdn.microsoft.com/ja-jp/library/ms229043(v=vs.110).aspx
http://webspace.jugem.jp/?eid=946


○Pascal Casing(パスカル形式)
パラメーター名以外のすべての識別子に使用される。
各単語の最初の文字を大文字にします。
基本的には単語の接続には"-"や"_"は使いません。
 PropertyDescriptor
特別なケースとして、次に示す識別子のように、両方が大文字になっている2文字の略語があります。
 IOStream


○Camel Casing(キャメル形式)
パラメーター名として使用される。
最初の単語以外の各単語の最初の文字を大文字にします。
基本的には単語の接続には"-"や"_"は使いません。
 propertyDescriptor
 ioStream

○Uppercase(全部大文字)
定数を表す時は大体この書き方です。
単語の接続には主に"_"を使います。
 PROPERTY_DESCRIPTOR


○ハンガリアン記法
変数の名前に加え、プレフィックス(接頭辞)をつけることで、さらなる変数の差別化を行うものです。
支払った額を代入する"pay"という変数を用意したときに、これはドルで払ったのか円で払ったのかわかりません。
そこで、"yenPay"や"dolPay"とすることで、型でもわからない部分を差別化できます。

間違ってはいけないのは、この記法では変数の型では判別できないものを判別できるようにするためのものなので、変数のプレフィックスに型を記述するのはお勧めできません。
例えば、"strName"(文字列の変数name)、"iAge"(int型の変数age)等はお勧めしないってことです。
システムハンガリアンを使っているソースコードを修正してデータ型を変更した際、同時に変数名も変更するコストがかかる。変更を怠ると、たちまち不整合となり、保守の障害となるだけで一利もないためです。

上記の正しい記法をアプリケーションハンガリアン、誤った記法をシステムハンガリアンと呼びます。



Microsoftにおいては、かつてWindows API/MFCにおいて、ハンガリアンを全面採用していたが、.NET Frameworkでは禁止としている。



【まとめ】

Namespace    Pascal形式
Type         Pascal形式
interface    Pascal形式
メソッド     Pascal形式
プロパティ   Pascal形式
イベント     Pascal形式
フィールド   Pascal形式
列挙値       Pascal形式
パラメーター Camel 形式
定数         Pascal形式
コントロール(XAML) Pascal形式


クラス
クラスと構造体には名詞または名詞句、Pascal表記を使用を使用して名前を付けます。
クラス名にプレフィックス ("C"など) を指定してはいけない。


メソッド
メソッドはアクションを実行する手段になっているために、動詞または動詞句メソッド名にすることが必要です。
Pascal形式。


プロパティ
名詞、名詞句、または形容詞として解釈を使用してプロパティを指定します。
Pascal形式。



参考:Microsoft Framework デザイン ガイドライン
https://msdn.microsoft.com/ja-jp/library/ms229042(v=vs.110).aspx



タグ:C# 命名規則
nice!(0) 
共通テーマ:パソコン・インターネット

nice! 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。