Názvy tříd, struktur a rozhraní
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é.
Pokyny pro pojmenování, které následují, platí pro obecné pojmenování typů.
✔️ Třídy a struktury názvů DO se podstatnými jmény nebo podstatnými frázemi pomocí PascalCasingu
Tím se rozlišují názvy typů od metod, které jsou pojmenované slovesnými frázemi.
✔️ Rozhraní názvů DO s adjektivními frázemi nebo příležitostně se podstatnými jmény nebo podstatnými frázemi.
Podstatná jména a fráze podstatných jmen by se měly používat zřídka a mohou značit, že typ by měl být abstraktní třídou, a ne rozhraním.
❌ NEPOUŽÍVEJTE názvy tříd jako předponu (např. "C").
✔️ ZVAŽTE ukončení názvu odvozených tříd názvem základní třídy.
To je velmi čitelné a vysvětluje vztah jasně. Některé příklady tohoto v kódu jsou: ArgumentOutOfRangeException
, což je druh Exception
, a SerializableAttribute
, což je druh Attribute
. Je však důležité použít přiměřený úsudek při uplatňování tohoto pokynu; Třída je například Button
druh Control
události, i když Control
se v názvu nezobrazuje.
✔️ Názvy rozhraní předpony DO s písmenem I označující, že typ je rozhraní.
Například IComponent
(popisné podstatné jméno), ICustomAttributeProvider
(podstatná fráze) a IPersistable
(přídavná jména) jsou vhodné názvy rozhraní. Stejně jako u jiných názvů typů nepoužívejte zkratky.
✔️ Ujistěte se, že se názvy liší pouze podle předpony "I" v názvu rozhraní při definování páru třídy rozhraní, kde je třída standardní implementací rozhraní.
Názvy parametrů obecného typu
Obecné typy byly přidány do rozhraní .NET Framework 2.0. Funkce zavedla nový druh identifikátoru označovaného jako parametr typu.
✔️ Parametry obecného typu DO s popisnými názvy, pokud není název s jedním písmenem zcela vysvětlující a popisný název by nepřidá hodnotu.
✔️ ZVAŽTE použití T
jako názvu parametru typu pro typy s jedním písmenem parametru.
public int IComparer<T> { ... }
public delegate bool Predicate<T>(T item);
public struct Nullable<T> where T:struct { ... }
✔️ Názvy parametrů popisného typu předpony DO s příponou T
.
public interface ISessionChannel<TSession> where TSession : ISession {
TSession Session { get; }
}
✔️ ZVAŽTE označující omezení u parametru typu v názvu parametru.
Například parametr omezený na ISession
může být volána TSession
.
Názvy běžných typů
✔️ Postupujte podle pokynů popsaných v následující tabulce při pojmenování typů odvozených z nebo implementaci určitých typů rozhraní .NET Framework.
Základní typ | Odvozené/implementní pokyny k typům |
---|---|
System.Attribute |
✔️ PŘIDEJTE příponu "Attribute" k názvům vlastních tříd atributů. |
System.Delegate |
✔️ Přidejte příponu EventHandler k názvům delegátů, které se používají v událostech. ✔️ Přidejte příponu "Zpětné volání" k názvům delegátů jiných než těch, které se používají jako obslužné rutiny událostí. ❌ NEPŘIDÁVEJTE k delegátu příponu "Delegát". |
System.EventArgs |
✔️ Přidejte příponu EventArgs. |
System.Enum |
❌ NEODvozOVAT z této třídy; místo toho použijte klíčové slovo podporované vaším jazykem; Například v jazyce C# použijte enum klíčové slovo.❌ NEPŘIDÁVEJTE příponu "Enum" nebo "Flag". |
System.Exception |
✔️ DO přidejte příponu Exception. |
IDictionary IDictionary<TKey,TValue> |
✔️ Přidejte příponu "Slovník". Všimněte si, že IDictionary jde o konkrétní typ kolekce, ale toto vodítko má přednost před obecnějšími zásadami kolekcí, které následuje. |
IEnumerable ICollection IList IEnumerable<T> ICollection<T> IList<T> |
✔️ DO přidejte příponu "Collection" (Kolekce). |
System.IO.Stream |
✔️ Přidejte příponu Stream. |
CodeAccessPermission IPermission |
✔️ PŘIDEJTE příponu "Oprávnění". |
Názvy výčtů
Názvy typů výčtů (označované také jako výčty) by obecně měly odpovídat standardním pravidlům pro pojmenování typu (PascalCasing atd.). Existují však další pokyny, které se vztahují konkrétně na výčty.
✔️ DO použijte pro výčet název singulárního typu, pokud jeho hodnoty nejsou bitová pole.
✔️ DO použijte název typu množného čísla pro výčet s bitovými poli jako hodnotami, označovaný také jako výčet příznaků.
❌ DO NOT nepoužívejte příponu Výčtu v názvech typů výčtu.
❌ NEPOUŽÍVEJTE přípony Flag nebo Flags v názvech typů výčtů.
❌ NEPOUŽÍVEJTE předponu pro názvy hodnot výčtu (např. "ad" pro výčty ADO, "rtf" pro výčty rtf atd.).
© Čá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.