更新 : 2007 年 11 月
名前付け規則の多くが識別子の大文字と小文字の区別に関係します。共通言語ランタイム (CLR) は、大文字と小文字を区別する言語も区別しない言語もサポートすることに注意してください。ここに記載されている大文字の使用規則に従うと、開発者はライブラリを容易に理解して使用できるようになります。
大文字と小文字のスタイル
次の用語は、識別子の大文字と小文字を区別するさまざまな方法を表します。
Pascal 形式
識別子の最初の文字と、後に続いて連結されている各単語の最初の文字を大文字にします。Pascal 形式は、3 文字以上から構成される識別子に対して使用できます。次に例を示します。
BackColor
Camel 形式
識別子の最初の文字は小文字にし、後に続いて連結されている各単語の最初の文字を大文字にします。次に例を示します。
backColor
大文字
識別子のすべての文字を大文字にします。この例を次に示します。
IO
識別子に適用される大文字の使用規則
識別子が複数の単語で構成される場合、アンダースコア ("_") やハイフン ("-") などの区切り記号を単語の間に使用しないでください。代わりに、大文字小文字の区別を使用して各単語の先頭を示してください。
識別子に適用される一般的な規則を次のガイドラインに示します。
複数の単語で構成されるパブリック メンバ、型、および名前空間の名前には、常に Pascal 形式を使用してください。
この規則は、インスタンス フィールドには適用されません。「メンバのデザインのガイドライン」に記載されている理由により、パブリック インスタンス フィールドは使用しないでください。
パラメータ名には Camel 形式を使用してください。
識別子に適用される大文字の使用規則の要約と各種の識別子の例を次の表に示します。
識別子 |
形式 |
例 |
---|---|---|
クラス |
Pascal |
AppDomain |
列挙型 |
Pascal |
ErrorLevel |
列挙値 |
Pascal |
FatalError |
イベント |
Pascal |
ValueChanged |
例外クラス |
Pascal |
WebException |
読み取り専用の静的フィールド |
Pascal |
RedValue |
インターフェイス |
Pascal |
IDisposable |
メソッド |
Pascal |
ToString |
名前空間 |
Pascal |
System.Drawing |
パラメータ |
Camel |
typeName |
プロパティ |
Pascal |
BackColor |
頭字語に適用される大文字の使用規則
頭字語とは、用語やフレーズに含まれる単語の頭文字から形成される単語です。たとえば、HTML は Hypertext Markup Language の頭字語です。識別子に頭字語を含めるのは、その頭字語が広く知られ、十分理解されている場合に限る必要があります。頭字語は、一語を短縮した省略形とは異なります。たとえば、ID は identifier の省略形です。通常、ライブラリ名には省略形を使用しないでください。
![]() |
---|
識別子で使用できる省略形は、ID と OK の 2 つだけです。Pascal 形式の識別子では、これらは Id および Ok と表記する必要があります。また、Camel 形式の識別子で先頭の単語として使用する場合は、それぞれ id および ok と表記する必要があります。 |
頭字語の大文字と小文字の区別は、頭字語の長さに依存します。頭字語の文字数はすべて 2 文字以上です。このガイドラインでは、頭字語が 2 文字ちょうどの場合は、短い頭字語と呼びます。3 文字以上の頭字語は長い頭字語と呼びます。
次のガイドラインでは、短い頭字語と長い頭字語について大文字と小文字の適切な使い分けを指定します。識別子の大文字と小文字の規則は、頭字語の規則に優先します。
Camel 形式の識別子の先頭の単語を除き、2 文字から成る頭字語の文字は共に大文字にしてください。
DBRate というプロパティは、短い頭字語 (DB) が Pascal 形式の識別子の先頭の文字として使用されている例です。ioChannel というパラメータは、短い頭字語 (IO) が Camel 形式の識別子の先頭の文字として使用されている例です。
Camel 形式の識別子の先頭の単語を除き、3 文字以上の文字から成る頭字語では、先頭の文字のみを大文字にしてください。
XmlWriter というクラスは、長い頭字語が Camel 形式の識別子の先頭の単語として使用されている例です。htmlReader というパラメータは、長い頭字語が Camel 形式の識別子の先頭の単語として使用されている例です。
Camel 形式では、識別子の先頭にある頭字語の文字は、その文字数とは関係なく、一切大文字にはしないでください。
xmlStream というパラメータは、長い頭字語 (xml) が Camel 形式の識別子の先頭の単語として使用されている例です。dbServerName というパラメータは、短い頭字語 (db) が Camel 形式の識別子の先頭の文字として使用されている例です。
複合語と一般用語に適用される大文字の使用規則
いわゆる閉じた形式の複合語の各単語は大文字にしないでください。これらは、一語として記述される複合語 ("endpoint" など) です。
たとえば、hashtable は閉じた形式の複合語なので、一語として大文字と小文字を適用する必要があります。したがって、Pascal 形式では Hashtable、Camel 形式では hashtable になります。単語が閉じた形式の複合語であるかどうかを確認するには、最新の辞書をチェックします。
閉じた形式の複合語でない一般用語のいくつかを次に示します。各単語は Pascal 形式です。また、かっこ内はそれぞれの Camel 形式です。
BitFlag (bitFlag)
FileName (fileName)
LogOff (logOff)
LogOn (logOn)
SignIn (signIn)
SignOut (signOut)
UserName (userName)
WhiteSpace (whiteSpace)
大文字と小文字の区別
大文字の使用ガイドラインの唯一の目的は、識別子を読みやすく、わかりやすくすることにあります。大文字と小文字の区別を、ライブラリ要素間で名前の衝突を避ける手段として使用しないでください。
すべてのプログラミング言語が大文字と小文字を区別するわけではなく、大文字と小文字を区別しないものもあります。そのため、名前は、大文字と小文字だけでは区別できません。
Portions Copyright 2005 Microsoft Corporation.All rights reserved.
Portions Copyright Addison-Wesley Corporation.All rights reserved.
デザイン ガイドラインの詳細については、2005 年に Addison-Wesley から出版されている Krzysztof Cwalina、Brad Abrams 共著の『Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries』を参照してください。