Názvy členů typu
Poznámka:
Tento obsah je znovu vytištěn oprávněním Pearson Education, Inc. z Framework Design Guidelines: Conventions, Idioms a Patterns for Reusable .NET Libraries, 2. vydání. Tato edice byla publikována v roce 2008 a kniha byla od té doby plně upravena ve třetím vydání. Některé informace na této stránce můžou být zastaralé.
Typy jsou tvořeny členy: metody, vlastnosti, události, konstruktory a pole. Následující části popisují pokyny pro pojmenování členů typu.
Názvy metod
Vzhledem k tomu, že metody jsou prostředkem provádění akcí, vyžadují pokyny pro návrh, aby názvy metod byly slovesa nebo slovesné fráze. Podle tohoto návodu slouží také k rozlišení názvů metod od názvů vlastností a typů, které jsou podstatná jména nebo přídavná jména.
✔️ DO pojmenovávejte metody, které jsou slovesa nebo slovesné fráze.
public class String {
public int CompareTo(...);
public string[] Split(...);
public string Trim();
}
Názvy vlastností
Na rozdíl od ostatních členů by vlastnosti měly mít názvy podstatných jmen nebo přídavných jmen. Je to proto, že vlastnost odkazuje na data a název vlastnosti to odráží. PascalCasing se vždy používá pro názvy vlastností.
✔️ Do name properties using a noun, noun phrase, or adjective.
❌ NEMÁ VLASTNOSTI, které odpovídají názvu metod Get, jako v následujícím příkladu:
public string TextWriter { get {...} set {...} }
public string GetTextWriter(int value) { ... }
Tento vzor obvykle značí, že vlastnost by měla být skutečně metodou.
✔️ Vlastnosti kolekce názvů DO s frází v množném čísle popisující položky v kolekci místo použití jednotné fráze následované "Seznam" nebo "Kolekce".
✔️ Do name Boolean properties with ankladative phrase (CanSeek
místo CantSeek
). Volitelně můžete také předponovat logické vlastnosti pomocí "Is", "Can" nebo "Has", ale pouze tam, kde přidává hodnotu.
✔️ ZVAŽTE udělení vlastnosti stejnému názvu jako jeho typ.
Například následující vlastnost správně získá a nastaví hodnotu výčtu s názvem Color
, takže vlastnost je pojmenována Color
:
public enum Color {...}
public class Control {
public Color Color { get {...} set {...} }
}
Názvy událostí
Události vždy odkazují na nějakou akci, buď na akci, která se děje, nebo na akci, ke které došlo. Stejně jako u metod jsou události pojmenovány slovesy a slovesné časy se používají k označení času, kdy je událost vyvolána.
✔️ Do name events with arb or arb phrase.
Mezi příklady patří Clicked
, Painting
, DroppedDown
a tak dále.
✔️ Pojmenovávejte události s konceptem před a po použití současného a minulého času.
Například událost zavření, která je vyvolána před zavřeným oknem, by byla volána Closing
a ta, která je vyvolána po zavření okna by byla volána Closed
.
❌ NEPOUŽÍVEJTE předpony Before nebo After nebo postopravy k označení předponě a po událostech. Používejte současné a minulé časy, jak je popsáno.
✔️ Obslužné rutiny událostí NÁZVU DO (delegáty používané jako typy událostí) s příponou EventHandler, jak je znázorněno v následujícím příkladu:
public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);
✔️ DO použijte dva parametry pojmenované sender
a e
v obslužných rutinách událostí.
Parametr sender představuje objekt, který vyvolal událost. Parametr odesílatele je obvykle typu object
, i když je možné použít konkrétnější typ.
✔️ DO name event argument classes with the EventArgs přípona.
Názvy polí
Pokyny pro pojmenování polí platí pro statická veřejná a chráněná pole. Interní a soukromá pole se nevztahují na pokyny a pravidla návrhu členů nepovolují pole veřejných nebo chráněných instancí.
✔️ Do use PascalCasing in field names.
✔️ Do name fields using a noun, noun phrase, or adjective.
❌ NEPOUŽÍVEJTE předponu pro názvy polí.
Nepoužívejte například "g_" nebo "s_" k označení statických polí.
© Části 2005, 2009 Microsoft Corporation. Všechna práva vyhrazena.
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 v rámci Microsoft Windows Development Series.