大文字の使用規則
Note
このコンテンツは、Pearson Education, Inc. の許可を得て、『Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition (フレームワーク設計ガイドライン: 再利用可能な .NET ライブラリの規約、表現形式、およびパターン、第 2 版)』から転載されています。 この版は 2008 年に出版され、その後、この本は第 3 版で全面的に改訂されました。 このページの情報の一部は古くなっている可能性があります。
この章のガイドラインでは、大文字と小文字の区別を使用する際の簡単な方法を示します。一貫して適用すると、型、メンバー、およびパラメーターの識別子が読みやすくなります。
識別子の大文字化の規則
識別子内の単語を区別するために、識別子内の各単語の最初の文字を大文字にします。 識別子内の単語を区別する目的で、さらに言うと、識別子のどこであっても、アンダースコアを使用しないでください。 識別子の用途に応じて、識別子を大文字にする適切な方法が 2 つあります。
PascalCasing
camelCasing
パラメーター名を除くすべての識別子に使用される PascalCasing (パスカル ケース) 規則の場合、次の例に示すように各単語の最初の文字 (2 文字を超える頭字語を含む) を大文字にします。
PropertyDescriptor
HtmlTag
2 文字の頭字語には、特別な大文字と小文字の区別が使用され、次の識別子に示すように、両方の文字を大文字にします。
IOStream
次の例に示すように、パラメーター名にのみ使用される camelCasing (キャメル ケース) 規則の場合、最初の単語を除く各単語の最初の文字を大文字にします。 この例でも示されているように、camelCasing (キャメル ケース) が適用される識別子の先頭にある 2 文字の頭字語は両方とも小文字にします。
propertyDescriptor
ioStream
htmlTag
✔️ 複数の単語で構成されるすべてのパブリック メンバー、型、および名前空間の名前には PascalCasing (パスカル ケース) を使用します。
✔️ パラメーター名には camelCasing (キャメル ケース) を使用します。
さまざまな種類の識別子の大文字化の規則を次の表に示します。
識別子 | 大文字小文字の区別 | 例 |
---|---|---|
名前空間 | Pascal | namespace System.Security { ... } |
種類 | Pascal | public class StreamReader { ... } |
インターフェイス | Pascal | public interface IEnumerable { ... } |
方法 | Pascal | public class Object { public virtual string ToString(); } |
プロパティ | Pascal | public class String { public int Length { get; } } |
イベント | Pascal | public class Process { public event EventHandler Exited; } |
フィールド | Pascal | public class MessageQueue { public static readonly TimeSpan InfiniteTimeout; } public struct UInt32 { public const Min = 0; } |
列挙値 | Pascal | public enum FileMode { Append, ... } |
パラメーター | Camel | public class Convert { public static int ToInt32(string value); } |
複合語と一般的な用語を大文字にする
ほとんどの複合用語は、大文字化の目的で 1 つの単語として扱われます。
❌ いわゆる閉じた形式の複合語に含まれる各単語を大文字にしないでください。
これらは、endpoint のように 1 つの単語として書かれた複合語です。 大文字と小文字の区別のガイドラインの目的としては、閉じた形式の複合語を 1 つの単語として扱います。 最新の辞書を使用して、複合語が閉じた形式で書かれているかどうかを判断してください。
Pascal | Camel | Not |
---|---|---|
BitFlag |
bitFlag |
Bitflag |
Callback |
callback |
CallBack |
Canceled |
canceled |
Cancelled |
DoNot |
doNot |
Don't |
Email |
email |
EMail |
Endpoint |
endpoint |
EndPoint |
FileName |
fileName |
Filename |
Gridline |
gridline |
GridLine |
Hashtable |
hashtable |
HashTable |
Id |
id |
ID |
Indexes |
indexes |
Indices |
LogOff |
logOff |
LogOut |
LogOn |
logOn |
LogIn |
Metadata |
metadata |
MetaData, metaData |
Multipanel |
multipanel |
MultiPanel |
Multiview |
multiview |
MultiView |
Namespace |
namespace |
NameSpace |
Ok |
ok |
OK |
Pi |
pi |
PI |
Placeholder |
placeholder |
PlaceHolder |
SignIn |
signIn |
SignOn |
SignOut |
signOut |
SignOff |
UserName |
userName |
Username |
WhiteSpace |
whiteSpace |
Whitespace |
Writable |
writable |
Writeable |
大文字と小文字の区別
CLR 上で実行できる言語は、大文字と小文字の区別をサポートする必要はありませんが、サポートしているものもあります。 お使いの言語がサポートしている場合でも、フレームワークにアクセスする他の言語はそうではない場合があります。 そのため、外部からアクセス可能な API の場合、同じコンテキスト内の 2 つの名前を区別するために大文字と小文字の違いのみに依存することはできません。
❌ すべてのプログラミング言語で大文字と小文字が区別されると想定しないでください。 しかし、そうではありません。 大文字と小文字の違いだけでは、名前を区別できません。
Portions © 2005, 2009 Microsoft Corporation. All rights reserved.
2008 年 10 月 22 日に Microsoft Windows Development シリーズの一部として、Addison-Wesley Professional によって発行された、Krzysztof Cwalina および Brad Abrams による「Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition」 (フレームワーク デザイン ガイドライン: 再利用可能な .NET ライブラリの規則、用法、パターン、第 2 版) から Pearson Education, Inc. の許可を得て再印刷されています。