Sdílet prostřednictvím


Názvy jmenných prostorů

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

Stejně jako u jiných pokynů pro pojmenování je při vytváření názvů oborů názvů cílem dosáhnout dostatečné jasnosti pro programátora používajícího framework, aby okamžitě věděl, co bude pravděpodobný obsah oboru názvů. Následující šablona určuje obecné pravidlo pro pojmenování jmenných prostorů:

<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]

Následují příklady:

Fabrikam.Math Litware.Security

✔️ Předřaďte jména oborů názvů názvem společnosti, aby se předešlo duplicitě jmen oborů názvů u různých společností.

✔️ Použijte stabilní název produktu nezávislý na verzi na druhé úrovni jména oboru názvů.

❌ Nepoužívejte organizační hierarchie jako základ pro názvy v hierarchiích jmenných prostorů, protože názvy skupin v rámci společností mají tendenci být krátkodobé. Uspořádejte hierarchii jmenných prostor podle skupin souvisejících technologií.

✔️ Používejte PascalCasing a oddělujte součásti oboru názvů tečkami (např., Microsoft.Office.PowerPoint). Pokud vaše značka využívá nestandardní velikost písmen, měli byste postupovat podle písmen definovaných vaší značkou, a to i v případě, že se liší od normálního velikostí písmen oboru názvů.

✔️ ZVAŽTE použití názvů v množném čísle, kde je to vhodné.

Například použijte System.Collections místo System.Collection. Názvy značek a zkratky jsou však výjimkou tohoto pravidla. Například použijte System.IO místo System.IOs.

❌ NEPOUŽÍVEJTE stejný název pro obor názvů a typ v daném oboru názvů.

Nepoužívejte Debug například jako název oboru názvů a pak také zadejte třídu pojmenovanou Debug ve stejném oboru názvů. Několik kompilátorů vyžaduje, aby tyto typy byly plně kvalifikované.

Konflikty jmenných prostorů a názvů typů

❌ NEZAVÁDĚJTE obecné názvy typů, jako Element, Node, Log a Message.

Existuje velmi vysoká pravděpodobnost, že to povede ke konfliktům názvů typů ve běžných scénářích. Měli byste kvalifikovat obecné názvy typů (FormElement, XmlNode, EventLog, SoapMessage).

Existují konkrétní pokyny pro předcházení konfliktům názvů typů pro různé druhy jmenných prostorů.

  • Obory názvů aplikačního modelu

    Jmenné prostory patřící do jednoho modelu aplikace se běžně používají společně, ale téměř nikdy se nepoužívají s jmennými prostory jiných modelů aplikace. Například obor názvů System.Windows.Forms se velmi zřídka používá společně s oborem názvů System.Web.UI. Následuje seznam dobře známých skupin jmenných prostorů modelu aplikace.

    System.Windows* System.Web.UI*

    ❌ Nedejte stejný název typům v oborech názvů v rámci jednoho aplikačního modelu.

    Například nepřidávejte typ pojmenovaný Page do System.Web.UI.Adapters oboru názvů, protože System.Web.UI obor názvů již obsahuje typ s názvem Page.

  • Obory názvů infrastruktury

    Tato skupina obsahuje obory názvů, které se při vývoji běžných aplikací zřídka importují. Obory názvů se například .Design používají hlavně při vývoji programovacích nástrojů. Zabránění konfliktům s typy v těchto oborech názvů není důležité.

  • Základní jmenné prostory

    Základní obory názvů zahrnují všechny System obory názvů kromě oborů názvů aplikačních modelů a oborů názvů Infrastruktury. Mezi základní obory názvů patří mimo jiné System, , System.IO, System.Xml, a System.Net.

    ❌ NEPOUŽÍVEJTE názvy typů, které by byly v konfliktu s jakýmkoli typem v oborech názvů Core.

    Například nikdy nepoužívejte Stream jako název typu. Byl by v konfliktu s velmi často používaným typem System.IO.Stream.

  • Skupiny oborů názvů technologie

    Tato kategorie zahrnuje všechna prostředí názvů se stejnými prvními dvěma prvky (<Company>.<Technology>*, například Microsoft.Build.Utilities a Microsoft.Build.Tasks. Je důležité, aby typy patřící do jedné technologie nebyly v konfliktu mezi sebou.

    ❌ NEPŘIŘAZUJTE názvy typů, které by byly v konfliktu s jinými typy v rámci jedné technologie.

    ❌ Nenechte vzniknout konflikty názvů typů mezi typy v technologických prostorech názvů a v prostoru názvů aplikačního modelu (pokud technologie není určena k použití s aplikačním modelem).

Čá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é