ここでは、ライブラリ内の要素の名前として最も適した名前を選択する方法について説明します。 これらのガイドラインはすべての識別子に適用されます。 後半のセクションでは、名前空間やプロパティなど、名前付けに固有の要素について説明します。
必ずわかりやすい識別名を選択してください。 たとえば、プロパティの名前としてわかりやすいのは、英語では AlignmentHorizontal よりも HorizontalAlignment です。
簡潔さよりもわかりやすさを優先します。 プロパティ名としては、ScrollableX よりも CanScrollHorizontally の方がより適切です。ScrollableX では、"X" が X 軸を意味しているのかどうかがあいまいだからです。
アンダースコア (_) やハイフン (-) など、英数字以外の文字は使用しないでください。
ハンガリー表記法は使用しないでください。
ハンガリー表記法では、識別子のデータ型など、パラメーターに関するメタデータをエンコードするために、識別子にプレフィックスを含めます。
広く使用されているプログラミング言語のキーワードと競合する識別子は使用しないでください。
CLS 準拠の言語では、キーワードを通常の単語として使用できる手段を提供する必要がありますが、推奨事項としては開発者がこの方法を知らなくても済むようにすることが必要です。 大部分のプログラミング言語の言語リファレンス ドキュメントには、その言語で使用されるキーワードの一覧が記載されています。 次の表では、広く使用されているプログラミング言語のリファレンス ドキュメントへのリンクを示します。
通常、省略形や頭字語は使用しません。 これらを使用すると、名前がわかりにくくなります。 また、その頭字語が広く認識されるようになったと見なすことができる時期を特定することも困難です。
省略形の大文字の使用規則については、「大文字の使用規則」を参照してください。
識別子名の一部には省略形または短縮形を使用しないでください。
たとえば、OnBtnClick ではなく OnButtonClick を使用します。
広く受け入れられていない頭字語は使用しないでください。また、必要な場合に限って使用するようにしてください。
型名には、言語に固有のキーワードよりも意味的にわかりやすい名前を使用してください。 たとえば、GetInt よりも GetLength の方が適切です。
まれなケースとして、識別子がその型以外では特別な意味を持たないことがありますが、その場合には言語に固有の名前を使用するよりも、共通言語ランタイム (CLR: Common Language Runtime) の汎用的な型名を使用してください。
たとえば、Short は Int16 を表す言語に固有の型名であるため、データを Int16 に変換するメソッドには、ToShort ではなく ToInt16 という名前を付ける必要があります。
一般的なプログラミング言語に固有の型名と CLR の型名を次の表に示します。
C# 型名 | Visual Basic 型名 | JScript 型名 | Visual C++ 型名 |
Ilasm.exe 表現 | CLR 型名 |
---|
sbyte | SByte | sByte | char | int8 | SByte |
byte | Byte | byte | unsigned char | unsigned int8 | Byte |
short | Short | short | short | int16 | Int16 |
ushort | UInt16 | ushort | unsigned short | unsigned int16 | UInt16 |
int | 整数 | int | int | int32 | Int32 |
uint | UInt32 | uint | unsigned int | unsigned int32 | UInt32 |
long | Long | long | __int64 | int64 | Int64 |
ulong | UInt64 | ulong | unsigned __int64 | unsigned int64 | UInt64 |
float | Single | float | float | float32 | Single |
double | Double | double | double | float64 | Double |
bool | Boolean (ブール型) | boolean | bool | bool | Boolean (ブール型) |
char | Char | char | wchar_t | char | Char |
String
|
String
|
String
|
String
|
String
|
String
|
object | オブジェクト | object | オブジェクト | object | オブジェクト |
まれなケースとして、識別子に特別な意味がなく、またパラメーターの型にも重要性がないことがありますが、その場合には型名を繰り返し使用するよりも、共通名 (値や項目など) を使用してください。
Portions Copyright 2005 Microsoft Corporation. All rights reserved.
Portions Copyright Addison-Wesley Corporation. All rights reserved.
設計ガイドラインの詳細についてを参照してください、「フレームワークの設計ガイドライン。規則、慣用句、および再利用可能なパターン。ネット ライブラリ」本クシシュトフ Cwalina、ブラッド エイブラムス、アスキー、2005 年発表しました。