- 10/22/2008
- 2 minuter att läsa
-
- K
- n
- B
- D
- n
-
+10
Riktlinjerna i det här kapitlet lägger fram en enkel metod för att använda fall som, när de tillämpas konsekvent gör identifierare för typer, medlemmar och parametrar lätta att läsa.
Kapitaliseringsregler för identifierare
För att särskilja ord i en identifierare ska du skriva den första bokstaven i varje ord i identifieraren med stor bokstav. Använd inte understrykningar för att särskilja ord, eller för den delen någonstans i identifierare. Det finns två lämpliga sätt att kapitalisera identifierare, beroende på hur identifieraren används:
-
PascalCasing
-
camelCasing
PascalCasing-konventionen, som används för alla identifierare utom parameternamn, kapitaliserar det första tecknet i varje ord (inklusive akronymer med en längd på mer än två bokstäver), vilket visas i följande exempel:
PropertyDescriptor
HtmlTag
Ett specialfall görs för akronymer med två bokstäver där båda bokstäverna skrivs med versaler, vilket visas i följande identifierare:
IOStream
KamelCasing-konventionen, som endast används för parameternamn, gör att det första tecknet i varje ord, utom det första ordet, skrivs med versaler, vilket visas i följande exempel. Som exemplet också visar är akronymer med två bokstäver som börjar en identifierare med camelcasing båda små bokstäver.
propertyDescriptor
ioStream
htmlTag
✔️ DO använder PascalCasing för alla offentliga medlems-, typ- och namnområdesnamn som består av flera ord.
✔️ DO use camelCasing for parameter names.
I följande tabell beskrivs kapitaliseringreglerna för olika typer av identifierare.
Identifier | Casing | Example | |
---|---|---|---|
Namespace | Pascal | namespace System.Security { ... } |
|
Type | Pascal | public class StreamReader { ... } |
|
Interface | Pascal | public interface IEnumerable { ... } |
|
Metod | Pascal | public class Object { public virtual string ToString(); } |
|
Property | Pascal | public class String { public int Length { get; } } |
|
Event | Pascal | public class Process { public event EventHandler Exited; } |
|
Field | Pascal | public class MessageQueue { public static readonly TimeSpan InfiniteTimeout; } public struct UInt32 { public const Min = 0; } |
|
Enum value | Pascal | public enum FileMode { Append, ... ... } |
|
Parameter | Camel | public class Convert { public static int ToInt32(string value); } } |
Kapitalisering av sammansatta ord och vanliga termer
De flesta sammansatta termer behandlas som enstaka ord när det gäller kapitalisering.
❌ SKALL INTE kapitalisera varje ord i så kallade slutna sammansatta ord.
Dessa är sammansatta ord som skrivs som ett enda ord, t.ex. endpoint. När det gäller riktlinjerna för kasusskrivning ska du behandla ett sammansatt ord i sluten form som ett enda ord. Använd en aktuell ordbok för att avgöra om ett sammansatt ord är skrivet i sluten form.
Pascal | Camel | 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 |
Känslighet för stor bokstavsbeteckning
Språk som kan köras på CLR behöver inte stödja stor bokstavsbeteckning.känslighet, även om vissa gör det. Även om ditt språk har stöd för det gör inte andra språk som kan få tillgång till ditt ramverk det. Alla API:er som är externt tillgängliga kan därför inte förlita sig enbart på skiftläget för att skilja mellan två namn i samma sammanhang.
❌ ANTAG INTE att alla programmeringsspråk är skiftlägeskänsliga. Det är de inte. Namn kan inte skilja sig åt enbart med hjälp av versaler.
Portioner © 2005, 2009 Microsoft Corporation. Alla rättigheter förbehållna.
Har återgivits med tillstånd av Pearson Education, Inc. från Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition av Krzysztof Cwalina och Brad Abrams, publicerad 22 oktober 2008 av Addison-Wesley Professional som en del av Microsoft Windows Development Series.
Se även
- Framework Design Guidelines
- Naming Guidelines
.