Sdílet prostřednictvím


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ů.

✔️ Pojmenovávejte třídy a struktury podstatnými jmény nebo podstatnými frázemi, používejte PascalCasing.

Tím se rozlišují názvy typů od metod, které jsou pojmenované slovesnými frázemi.

✔️ Rozhraní pojmenovávejte adjektivními frázemi, nebo příležitostně podstatnými jmény nebo podstatnými frázemi.

Podstatná jména a ustálené spojení podstatných jmen používejte zřídka, jelikož mohou naznačovat, ž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é uplatnit přiměřený úsudek při uplatňování této směrnice; například třída Button je druhem Control události, přestože se Control v názvu neobjevuje.

✔️ Názvy rozhraní musí být opatřeny předponou I, aby bylo zřejmé, ž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.

✔️ Pojmenovávejte parametry obecného typu popisnými názvy, pokud jeden písmenový název není zcela samozřejmý a popisný název by nepřidal 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ředcházejte kódem T.

public interface ISessionChannel<TSession> where TSession : ISession {
    TSession Session { get; }
}

ZVAŽTE uvedení omezení parametru typu v názvu parametru.

Například parametr omezený na ISession může být volen jako 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é/implementační 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í typů (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ázvosloví v množném čísle pro výčet s bitovými poli jako hodnotami, označovaný také jako výčet s příznaky.

❌ NEpoužívejte příponu "Enum" v názvech typů výčtů.

❌ NEPOUŽÍVEJTE přípony „Flag“ nebo „Flags“ v názvech typů výčtových hodnot.

❌ NEPOUŽÍVEJTE předponu pro názvy hodnot výčtu (např. "ad" pro výčty ADO, "rtf" pro výčty rtf atd.).

Části z © 2005, 2009 Microsoft Corporation. Všechna práva vyhrazena.

Přetištěno se svolením Pearson Education, Inc. z Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition od Krzysztofa Cwaliny a Brada Abramse, vydáno 22. října 2008 nakladatelstvím Addison-Wesley Professional jako součást série Microsoft Windows Development.

Viz také