Konvence pro malá a velká písmena
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 v této kapitole obsahují jednoduchou metodu použití případu, která při použití konzistentně usnadňují čtení identifikátorů pro typy, členy a parametry.
Pravidla velká písmena pro identifikátory
Chcete-li rozlišovat slova v identifikátoru, velká písmena každého slova v identifikátoru. Nepoužívejte podtržítka k rozlišení slov nebo pro danou záležitost kdekoli v identifikátorech. Identifikátory můžete použít dvěma vhodnými způsoby v závislosti na použití identifikátoru:
PascalCasing
camelCasing
Konvence PascalCasing, která se používá pro všechny identifikátory s výjimkou názvů parametrů, velká písmena prvního znaku každého slova (včetně akronymů nad dvěma písmeny v délce), jak je znázorněno v následujících příkladech:
PropertyDescriptor
HtmlTag
Speciální případ se skládá ze dvoupísmenných zkratek, ve kterých jsou obě písmena velká, jak je znázorněno v následujícím identifikátoru:
IOStream
Konvence camelCasing, která se používá pouze pro názvy parametrů, velká písmena první znak každého slova s výjimkou prvního slova, jak je znázorněno v následujících příkladech. Jak ukazuje příklad také dvoupísmenné zkratky, které začínají velbloudím identifikátorem, jsou malá písmena.
propertyDescriptor
ioStream
htmlTag
✔️ Do use PascalCasing for all public member, type, and namespace names skládající se z více slov.
✔️ Do use camelCasing for parameter names.
Následující tabulka popisuje pravidla velká písmena pro různé typy identifikátorů.
Identifikátor | Velikost písmen | Příklad |
---|---|---|
Obor názvů | Pascal | namespace System.Security { ... } |
Typ | Pascal | public class StreamReader { ... } |
Rozhraní | Pascal | public interface IEnumerable { ... } |
metoda | Pascal | public class Object { public virtual string ToString(); } |
Vlastnost | Pascal | public class String { public int Length { get; } } |
Událost | Pascal | public class Process { public event EventHandler Exited; } |
Pole | Pascal | public class MessageQueue { public static readonly TimeSpan InfiniteTimeout; } public struct UInt32 { public const Min = 0; } |
Hodnota výčtu | Pascal | public enum FileMode { Append, ... } |
Parametr | CamelCase | public class Convert { public static int ToInt32(string value); } |
Velká písmena složená slova a běžné termíny
Většina složených termínů se pro účely velká písmena považuje za jednotlivá slova.
❌ NEPOUŽÍVEJTE velká písmena každého slova v takzvaných složených slovech s uzavřeným tvarem.
Jedná se o složená slova napsaná jako jedno slovo, například koncový bod. Pro účely pokynů pro vkládání textu zacházejte s uzavřeným složeným slovem jako s jedním slovem. Pomocí aktuálního slovníku určete, jestli je složené slovo napsané v uzavřené podobě.
Pascal | CamelCase | Not |
---|---|---|
BitFlag |
bitFlag |
Bitflag |
Callback |
callback |
CallBack |
Canceled |
canceled |
Cancelled |
DoNot |
doNot |
Don't |
Email |
email |
EMail |
Endpoint |
endpoint |
EndPoint |
FileName |
fileName |
Filename |
Gridline |
gridline |
GridLine |
Hashtable |
hashtable |
HashTable |
Id |
id |
ID |
Indexes |
indexes |
Indices |
LogOff |
logOff |
LogOut |
LogOn |
logOn |
LogIn |
Metadata |
metadata |
MetaData, metaData |
Multipanel |
multipanel |
MultiPanel |
Multiview |
multiview |
MultiView |
Namespace |
namespace |
NameSpace |
Ok |
ok |
OK |
Pi |
pi |
PI |
Placeholder |
placeholder |
PlaceHolder |
SignIn |
signIn |
SignOn |
SignOut |
signOut |
SignOff |
UserName |
userName |
Username |
WhiteSpace |
whiteSpace |
Whitespace |
Writable |
writable |
Writeable |
Citlivost malých a velkých písmen
Jazyky, které se můžou spouštět v CLR, se k podpoře citlivosti malých a malých písmen nevyžadují, i když některé. I když ho váš jazyk podporuje, jiné jazyky, které by mohly přistupovat k vaší platformě, ne. Všechna rozhraní API, která jsou externě přístupná, proto se při rozlišování dvou názvů ve stejném kontextu nemůžou spoléhat pouze na malá a velká písmena.
❌ NEPŘEDPOKLÁDEJTE, že všechny programovací jazyky rozlišují malá a velká písmena. Ne. Názvy se nemůžou lišit pouze písmeny.
© Čá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.