一般的な名前付け規則General Naming Conventions

このセクションでは、一般的な名前付け規則、単語の選択に関連する言語固有の名前を使用しないようにする方法の省略形と頭字語、および推奨事項の使用に関するガイドラインについて説明します。This section describes general naming conventions that relate to word choice, guidelines on using abbreviations and acronyms, and recommendations on how to avoid using language-specific names.

単語の選択Word Choice

✓ DO 読みやすい識別子の名前を選択します。✓ DO choose easily readable identifier names.

たとえば、という名前のプロパティHorizontalAlignment英語 - よりも読みやすく、AlignmentHorizontalします。For example, a property named HorizontalAlignment is more English-readable than AlignmentHorizontal.

✓ DO 簡潔さよりも読みやすさを優先します。✓ DO favor readability over brevity.

プロパティ名CanScrollHorizontallyよりはScrollableX(x 軸にあいまいな参照)。The property name CanScrollHorizontally is better than ScrollableX (an obscure reference to the X-axis).

X DO NOT アンダー スコア、ハイフン、またはその他の英数字以外の文字を使用します。X DO NOT use underscores, hyphens, or any other nonalphanumeric characters.

X DO NOT ハンガリアン記法を使用します。X DO NOT use Hungarian notation.

X AVOID 広くのキーワードと競合する識別子を使用してプログラミング言語を使用します。X AVOID using identifiers that conflict with keywords of widely used programming languages.

に従って規則 4 の共通言語仕様 (CLS) に準拠しているすべての言語はその言語のキーワードを識別子として使用する名前付きの項目へのアクセスを許可するメカニズムを提供する必要があります。According to Rule 4 of the Common Language Specification (CLS), all compliant languages must provide a mechanism that allows access to named items that use a keyword of that language as an identifier. C# の場合は、たとえば、使用して、@ 記号にエスケープ メカニズムとして。C#, for example, uses the @ sign as an escape mechanism in this case. ただしはよりもなしで 1 つのエスケープ シーケンスでメソッドを使用するより難しいために、一般的なキーワードを回避することはお勧めもします。However, it is still a good idea to avoid common keywords because it is much more difficult to use a method with the escape sequence than one without it.

省略形と頭字語を使用します。Using Abbreviations and Acronyms

X DO NOT 識別子名の一部としての省略形または短縮形を使用します。X DO NOT use abbreviations or contractions as part of identifier names.

たとえば、使用してGetWindowなくGetWinします。For example, use GetWindow rather than GetWin.

X DO NOT 広く受け入れられていると偶数の場合は、必要な場合にのみではない任意の頭字語を使用します。X DO NOT use any acronyms that are not widely accepted, and even if they are, only when necessary.

言語固有の名前を回避します。Avoiding Language-Specific Names

✓ DO 型名に言語固有のキーワードではなく、意味的にわかりやすい名前を使用します。✓ DO use semantically interesting names rather than language-specific keywords for type names.

たとえば、GetLengthよりもよい名前は、GetIntします。For example, GetLength is a better name than GetInt.

✓ DO まれなケース識別子には、その型以外の意味があるない場合に言語固有の名前ではなく、汎用の CLR 型名を使用します。✓ DO use a generic CLR type name, rather than a language-specific name, in the rare cases when an identifier has no semantic meaning beyond its type.

たとえば、メソッドに変換するInt64名前を指定する必要がありますToInt64ではなく、 ToLong (ためInt64(C#) CLR 名は、-固有のエイリアスlong)。For example, a method converting to Int64 should be named ToInt64, not ToLong (because Int64 is a CLR name for the C#-specific alias long). 次の表は、CLR の型名 (およびその c#、Visual Basic、および C++ の対応する型名) を使用していくつかの基本データ型を表示します。The following table presents several base data types using the CLR type names (as well as the corresponding type names for C#, Visual Basic, and C++).

C#C# Visual BasicVisual Basic C++C++ CLRCLR
sbytesbyte SByteSByte charchar SByteSByte
bytebyte ByteByte unsigned charunsigned char ByteByte
shortshort ShortShort shortshort Int16Int16
ushortushort UInt16UInt16 unsigned shortunsigned short UInt16UInt16
intint IntegerInteger intint Int32Int32
uintuint UInt32UInt32 unsigned intunsigned int UInt32UInt32
longlong LongLong __int64__int64 Int64Int64
ulongulong UInt64UInt64 unsigned __int64unsigned __int64 UInt64UInt64
floatfloat SingleSingle floatfloat SingleSingle
doubledouble DoubleDouble doubledouble DoubleDouble
boolbool BooleanBoolean boolbool BooleanBoolean
charchar CharChar wchar_twchar_t CharChar
stringstring StringString StringString StringString
objectobject ObjectObject ObjectObject ObjectObject

✓ DO など、共通名を使用してvalueまたはitem、まれなケース識別子は特別な意味を持たないし、パラメーターの型が重要でないときに、型名を繰り返しではなくです。✓ DO use a common name, such as value or item, rather than repeating the type name, in the rare cases when an identifier has no semantic meaning and the type of the parameter is not important.

既存の Api の新しいバージョンの名前を付けるNaming New Versions of Existing APIs

✓ DO 既存の API の新しいバージョンを作成するときに、古い API への名前を使用します。✓ DO use a name similar to the old API when creating new versions of an existing API.

これにより、Api の間のリレーションシップを強調表示します。This helps to highlight the relationship between the APIs.

✓ DO を既存の API の新しいバージョンを示すプレフィックスではなく、サフィックスを追加することを希望します。✓ DO prefer adding a suffix rather than a prefix to indicate a new version of an existing API.

ドキュメントについてを参照するときに検出を支援はこれまたは IntelliSense を使用します。This will assist discovery when browsing documentation, or using IntelliSense. 古いバージョンの API はほとんどのブラウザーと IntelliSense は、アルファベット順に識別子を表示するための新しい Api の近くに編成します。The old version of the API will be organized close to the new APIs, because most browsers and IntelliSense show identifiers in alphabetical order.

✓ CONSIDER サフィックスまたはプリフィックスを追加する代わりに、まったく新しいが意味のある識別子を使用します。✓ CONSIDER using a brand new, but meaningful identifier, instead of adding a suffix or a prefix.

✓ DO の数値のサフィックスを使用して、既存の API の新しいバージョンを指定する、API の既存の名前 (つまり、業界標準である) 場合は、意味のある唯一の名前は、どの意味を追加する場合は、サフィックス (または、名前を変更する) アプリの場合に特にropriate オプション。✓ DO use a numeric suffix to indicate a new version of an existing API, particularly if the existing name of the API is the only name that makes sense (i.e., if it is an industry standard) and if adding any meaningful suffix (or changing the name) is not an appropriate option.

X DO NOT "Ex"(または類似した) を使用して、同じ API の以前のバージョンと区別する識別子のサフィックスです。X DO NOT use the "Ex" (or a similar) suffix for an identifier to distinguish it from an earlier version of the same API.

✓ DO 32 ビット整数の代わりに 64 ビット整数 (長整数) で動作する Api のバージョンを導入するときに、「64」サフィックスを使用します。✓ DO use the "64" suffix when introducing versions of APIs that operate on a 64-bit integer (a long integer) instead of a 32-bit integer. 既存の 32 ビットの API が存在する場合は、この手法を採用するだけで済みますしないため、64 ビット バージョンのみで新しい Api を行います。You only need to take this approach when the existing 32-bit API exists; don’t do it for brand new APIs with only a 64-bit version.

Portions © 2005, 2009 Microsoft Corporation.All rights reserved.Portions © 2005, 2009 Microsoft Corporation. All rights reserved.

Pearson Education, Inc. からのアクセス許可によって了承を得て転載Framework デザイン ガイドライン。規則、手法、および再利用可能な .NET ライブラリの第 2 版のパターンKrzysztof Cwalina、Brad 内容では、Microsoft Windows の開発シリーズの一部として、Addison-wesley Professional、2008 年 10 月 22日を公開します。Reprinted by permission of Pearson Education, Inc. from Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition by Krzysztof Cwalina and Brad Abrams, published Oct 22, 2008 by Addison-Wesley Professional as part of the Microsoft Windows Development Series.

関連項目See also