Capitalization Conventions

  • 10/22/2008
  • 2 minutes to read
    • K
    • n
    • B
    • D
    • n
    • +10

本章のガイドラインでは、大文字小文字の使い方を簡単に説明しています。 一貫して適用することで、型、メンバー、パラメーターの識別子を読みやすくすることができます。

識別子の大文字ルール

識別子内の単語を区別するために、識別子内の各単語の最初の文字を大文字にします。 単語の区別にアンダースコアを使用したり、識別子のどこにでもアンダースコアを使用しないでください。

  • PascalCasing

  • camelCasing

パラメータ名を除く全ての識別子で使われている PascalCasing は、以下の例に示すように、(2文字を超える頭文字も含めて)それぞれの単語の最初の文字を大文字にする規則になっています。

PropertyDescriptorHtmlTag

2文字の頭字語は、次の識別子に示すように、両方の文字を大文字にする特別なケースがあります:

IOStream

パラメータ名にだけ使われるcamelCasing規則は、次の例で示すように最初の単語を除いてそれぞれの単語の最初の文字を大文字にして使用します。 この例でも示されているように、キャメルケースの識別子を開始する 2 文字の頭文字は、両方とも小文字になります。

propertyDescriptorioStreamhtmlTag

✔️ 複数の単語からなるすべてのパブリックメンバー、型、名前空間名に対して PascalCasing を使用しましょう。

✔️ パラメータ名にはキャメルケースを使用してください。

以下の表は、異なるタイプの識別子のための大文字の規則を説明しています。

public class Object {
public virtual string ToString();
}

public class MessageQueue {
public static readonly TimeSpan
InfiniteTimeout;
}
public static readonly TimeSpan
} public class MessageQueue {
InfiniteTimeout;
InfiniteTimeout;
}
public struct UInt32 {
public const Min = 0;
}

public class Convert {
public static int ToInt32(string value);

Identifier Casing Example
Namespace Pascal namespace System.Security { ... }
Type public class StreamReader { ... }
Interface Pascal public interface IEnumerable { ... }
Method Pascal
Property Pascal public class String {
public int Length { get; }
}
Event Pascal public class Process {
public event EventHandler Exited;
}
Field Pascal
Enum value Pascal public enum FileMode {
Append,
...
...
}
Parameter Camel

複合語と一般用語の大文字表記

Most compound term is treated as single words for purposes of capitalization.

❌後続形式の複合語では、各単語を大文字で表記しないでください。 ケーシングのガイドラインでは、閉じた形の複合語は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

Case Sensitivity

clr で動く言語では case- のサポートは要求されないが、CASE-Sensitivity のサポートは必要である。を使用することができます。 がありますが。 あなたの言語がサポートしていても、あなたのフレームワークにアクセスする可能性のある他の言語はサポートしていません。 したがって、外部からアクセス可能なすべての API は、同じコンテキストで 2 つの名前を区別するために大文字と小文字を区別することに依存できません。 そうではありません。 名前は大文字と小文字だけでは区別できません。

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

Reprinted by permission of Pearson Education, Inc.フレームワーク設計ガイドラインより。 Krzysztof Cwalina and Brad Abrams 著「Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition」(Microsoft Windows Development Series の一部として Addison-Wesley Professional から 2008 年 10 月 22 日に発行)

  • Framework Design Guidelines
  • Naming Guidelines

も参照してください。

コメントを残す

メールアドレスが公開されることはありません。