次の方法で共有


一般的な名前付け規則

このコンテンツは、 フレームワーク設計ガイドライン (再利用可能な .NET ライブラリの規則、イディオム、パターン、第 2 版) から、Pearson Education, Inc. のアクセス許可によって再印刷されます。 そのエディションは2008年に出版され、その後 、本は第3版で完全に改訂されています。 このページの情報の一部が古くなっている可能性があります。

このセクションでは、単語の選択に関連する一般的な名前付け規則、省略形と頭字語の使用に関するガイドライン、言語固有の名前の使用を回避する方法に関する推奨事項について説明します。

Word の選択

✔️ 簡単に読み取り可能な識別子名を選択してください。

たとえば、 HorizontalAlignment という名前のプロパティは、 AlignmentHorizontalよりも英語で読み取り可能です。

✔️ 簡潔さよりも読みやすさを優先してください。

プロパティ名 CanScrollHorizontally は、 ScrollableX (X 軸へのあいまいな参照) よりも優れています。

❌ アンダースコア、ハイフン、またはその他の英数字以外の文字は使用しないでください。

❌ ハンガリー語表記は使用しないでください。

❌ 広く使用されているプログラミング言語のキーワードと競合する識別子を使用しないでください。

共通言語仕様 (CLS) の規則 4 に従って、準拠しているすべての言語は、その言語のキーワードを識別子として使用する名前付き項目にアクセスできるようにするメカニズムを提供する必要があります。 たとえば、C# では、この場合、エスケープ メカニズムとして @ 記号を使用します。 ただし、一般的なキーワードは、エスケープ シーケンスを含まないメソッドよりもはるかに困難であるため、避けるのが良い方法です。

省略形と頭字語の使用

❌ 識別子名の一部として省略形や縮小を使用しないでください。

たとえば、GetWinではなくGetWindowを使用します。

❌ 広く受け入れられない頭字語は使用しないでください。必要な場合にのみ使用してください。

Language-Specific 名の回避

✔️ 型名には、言語固有のキーワードではなく、意味的に興味深い名前を使用してください。

たとえば、 GetLengthGetIntよりも優れた名前です。

✔️ 識別子が型を超える意味を持たない場合はまれに、言語固有の名前ではなく、ジェネリック 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 焦がす
文字列 ストリング ストリング ストリング
オブジェクト オブジェクト オブジェクト オブジェクト

✔️ 識別子にセマンティックな意味がなく、パラメーターの型が重要でない場合はまれに、型名を繰り返すのではなく、 valueitemなどの共通名を使用してください。

既存の 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 によって公開されました。

こちらも参照ください