注
このコンテンツは、 フレームワーク設計ガイドライン (再利用可能な .NET ライブラリの規則、イディオム、パターン、第 2 版) から、Pearson Education, Inc. のアクセス許可によって再印刷されます。 そのエディションは2008年に出版され、その後 、本は第3版で完全に改訂されています。 このページの情報の一部が古くなっている可能性があります。
型は、メソッド、プロパティ、イベント、コンストラクター、フィールドのメンバーで構成されます。 以降のセクションでは、型メンバーの名前付けのガイドラインについて説明します。
メソッドの名前
メソッドはアクションを実行する手段であるため、設計ガイドラインでは、メソッド名を動詞または動詞句にする必要があります。 このガイドラインに従って、メソッド名と、名詞または形容詞の語句であるプロパティ名と型名を区別することもできます。
✔️ DO は、動詞または動詞句であるメソッド名を指定します。
public class String {
public int CompareTo(...);
public string[] Split(...);
public string Trim();
}
プロパティの名前
他のメンバーとは異なり、プロパティには名詞句または形容詞名を付ける必要があります。 これは、プロパティがデータを参照し、プロパティの名前にそれが反映されるためです。 PascalCasing は常にプロパティ名に使用されます。
✔️ DO は、名詞、名詞句、または形容詞を使用してプロパティに名前を付けます。
❌ 次の例のように、"Get" メソッドの名前と一致するプロパティを指定しないでください。
public string TextWriter { get {...} set {...} }
public string GetTextWriter(int value) { ... }
このパターンは、通常、プロパティが実際にメソッドである必要があることを示します。
✔️ DO は、コレクションのプロパティに、単一の語句の後に "List" または "Collection" を付けるのではなく、コレクション内の項目を記述する複数形の語句で名前を付けます。
✔️ DO は、肯定句 (CanSeek
ではなくCantSeek
) でブール型プロパティに名前を付けます。 必要に応じて、ブール型プロパティの前に "Is"、"Can"、または "Has" を付けることもできますが、値を追加する場所のみ指定できます。
✔️ 型と同じ名前のプロパティを指定することを検討してください。
たとえば、次のプロパティは、 Color
という名前の列挙値を正しく取得して設定するため、プロパティの名前は Color
。
public enum Color {...}
public class Control {
public Color Color { get {...} set {...} }
}
イベントの名前
イベントは常に、発生しているアクションまたは発生したアクションを指します。 そのため、メソッドと同様に、イベントには動詞で名前が付けられ、動詞の時制はイベントが発生した時刻を示すために使用されます。
✔️ 動詞または動詞句を使用してイベントに名前を付けます。
たとえば、 Clicked
、 Painting
、 DroppedDown
などです。
✔️ 現在と過去の時制を使用して、前後関係のあるイベント名を付けます。
たとえば、ウィンドウを閉じる前に発生する close イベントは Closing
呼び出され、ウィンドウを閉じた後に発生するイベントは Closed
呼び出されます。
❌ プリイベントと事後イベントを示すために、"Before" または "After" プレフィックスまたは後置を使用しないでください。 説明したように、現在形と過去形を使ってください。
✔️ 次の例に示すように、イベント ハンドラー (イベントの種類として使用されるデリゲート) に "EventHandler" サフィックスを付けます。
public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);
✔️ イベント ハンドラーで sender
と e
という名前の 2 つのパラメーターを使用してください。
sender パラメーターは、イベントを発生させたオブジェクトを表します。 sender パラメーターは通常、より具体的な型を使用できる場合でも、 object
型です。
✔️ DO は、"EventArgs" サフィックスを持つイベント引数クラスに名前を付けます。
フィールドの名前
フィールドの名前付けのガイドラインは、静的なパブリック フィールドと保護されたフィールドに適用されます。 内部フィールドとプライベート フィールドはガイドラインの対象外であり、パブリック または保護されたインスタンス フィールドは メンバー設計ガイドラインでは許可されません。
✔️ フィールド名に PascalCasing を使用してください。
✔️ DO は、名詞、名詞句、または形容詞を使用してフィールドに名前を付けます。
❌ フィールド名にはプレフィックスを使用しないでください。
たとえば、静的フィールドを示すために "g_" や "s_" を使用しないでください。
Portions © 2005, 2009 Microsoft Corporation. 無断転載を禁じます。
フレームワーク設計ガイドライン:再利用可能な .NET ライブラリの規則、イディオム、パターン、Krzysztof Cwalina および Brad Abrams による第 2 版は、2008 年 10 月 22 日に Microsoft Windows 開発シリーズの一部として Addison-Wesley Professional によって公開されました。