注
このコンテンツは、 フレームワーク設計ガイドライン (再利用可能な .NET ライブラリの規則、イディオム、パターン、第 2 版) から、Pearson Education, Inc. のアクセス許可によって再印刷されます。 そのエディションは2008年に出版され、その後 、本は第3版で完全に改訂されています。 このページの情報の一部が古くなっている可能性があります。
このセクションでは、単語の選択に関連する一般的な名前付け規則、省略形と頭字語の使用に関するガイドライン、言語固有の名前の使用を回避する方法に関する推奨事項について説明します。
Word の選択
✔️ 簡単に読み取り可能な識別子名を選択してください。
たとえば、 HorizontalAlignment
という名前のプロパティは、 AlignmentHorizontal
よりも英語で読み取り可能です。
✔️ 簡潔さよりも読みやすさを優先してください。
プロパティ名 CanScrollHorizontally
は、 ScrollableX
(X 軸へのあいまいな参照) よりも優れています。
❌ アンダースコア、ハイフン、またはその他の英数字以外の文字は使用しないでください。
❌ ハンガリー語表記は使用しないでください。
❌ 広く使用されているプログラミング言語のキーワードと競合する識別子を使用しないでください。
共通言語仕様 (CLS) の規則 4 に従って、準拠しているすべての言語は、その言語のキーワードを識別子として使用する名前付き項目にアクセスできるようにするメカニズムを提供する必要があります。 たとえば、C# では、この場合、エスケープ メカニズムとして @ 記号を使用します。 ただし、一般的なキーワードは、エスケープ シーケンスを含まないメソッドよりもはるかに困難であるため、避けるのが良い方法です。
省略形と頭字語の使用
❌ 識別子名の一部として省略形や縮小を使用しないでください。
たとえば、GetWin
ではなくGetWindow
を使用します。
❌ 広く受け入れられない頭字語は使用しないでください。必要な場合にのみ使用してください。
Language-Specific 名の回避
✔️ 型名には、言語固有のキーワードではなく、意味的に興味深い名前を使用してください。
たとえば、 GetLength
は GetInt
よりも優れた名前です。
✔️ 識別子が型を超える意味を持たない場合はまれに、言語固有の名前ではなく、ジェネリック CLR 型名を使用してください。
たとえば、Int64に変換するメソッドには、ToLong
ではなく、ToInt64
という名前を付ける必要があります (Int64は C# 固有のエイリアス long
の CLR 名であるため)。 次の表は、CLR 型名 (および C#、Visual Basic、および C++ の対応する型名) を使用したいくつかの基本データ型を示しています。
C# | Visual Basic | C++ | CLR(共通言語ランタイム) |
---|---|---|---|
sbyte | SByte | 焦がす | SByte |
バイト | バイト | 符号なし文字 を する | バイト |
短い | 短い | 短い | Int16 |
ushort を する | UInt16 を する | 符号なし short を する | UInt16 を する |
int | 整数 | int | Int32 |
uint を する | UInt32 を する | 符号なし int を する | UInt32 を する |
長い | 長い | __int64 | Int64 |
ulong | UInt64 を する | 署名されていない__int64 を する | UInt64 を する |
浮く | 単 | 浮く | 単 |
ダブル | ダブル | ダブル | ダブル |
ブール | ブーリアン | ブール | ブーリアン |
焦がす | 焦がす | wchar_t | 焦がす |
文字列 | ストリング | ストリング | ストリング |
オブジェクト | オブジェクト | オブジェクト | オブジェクト |
✔️ 識別子にセマンティックな意味がなく、パラメーターの型が重要でない場合はまれに、型名を繰り返すのではなく、 value
や item
などの共通名を使用してください。
既存の API の新しいバージョンの名前付け
✔️ 既存の API の新しいバージョンを作成するときは、古い API と同様の名前を使用してください。
これは、API 間の関係を強調するのに役立ちます。
✔️ 既存の API の新しいバージョンを示すために、プレフィックスではなくサフィックスを追加することをお選び下さい。
これにより、ドキュメントを参照するとき、または IntelliSense を使用するときの検出が役立ちます。 ほとんどのブラウザーと IntelliSense では識別子がアルファベット順に表示されるため、古いバージョンの API は新しい API の近くに整理されます。
✔️ サフィックスやプレフィックスを追加するのではなく、まったく新しい意味のある識別子を使用することを検討してください。
✔️ 数値サフィックスを使用して、既存の API の新しいバージョンを示します。特に、API の既存の名前が意味のある唯一の名前である場合 (業界標準の場合)、意味のあるサフィックスを追加する (または名前を変更する) 場合は、適切なオプションではありません。
❌ 識別子に "Ex" (または同様の) サフィックスを使用して、同じ API の以前のバージョンと区別しないでください。
✔️ 32 ビット整数ではなく 64 ビット整数 (長整数) で動作する API のバージョンを導入する場合は、"64" サフィックスを使用してください。 このアプローチは、既存の 32 ビット API が存在する場合にのみ行う必要があります。64 ビット バージョンのみの新しい API には使用しないでください。
Portions © 2005, 2009 Microsoft Corporation. 無断転載を禁じます。
フレームワーク設計ガイドライン:再利用可能な .NET ライブラリの規則、イディオム、パターン、Krzysztof Cwalina および Brad Abrams による第 2 版は、2008 年 10 月 22 日に Microsoft Windows 開発シリーズの一部として Addison-Wesley Professional によって公開されました。