Versaler

Kommentar

Det här innehållet skrivs om med behörighet från Pearson Education, Inc. från Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Den utgåvan publicerades 2008, och boken har sedan dess reviderats helt i den tredje utgåvan. En del av informationen på den här sidan kan vara inaktuell.

Riktlinjerna i det här kapitlet beskriver 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.

Versaler för identifierare

Om du vill särskilja ord i en identifierare, versalerar du den första bokstaven i varje ord i identifieraren. Använd inte understreck för att särskilja ord, eller för den delen någonstans i identifierare. Det finns två lämpliga sätt att dra nytta av identifierare, beroende på hur identifieraren används:

  • PascalCasing

  • camelCasing

PascalCasing-konventionen, som används för alla identifierare utom parameternamn, versalerar det första tecknet för varje ord (inklusive förkortningar över två bokstäver i längd), enligt följande exempel:

PropertyDescriptor HtmlTag

Ett specialfall görs för förkortningar med två bokstäver där båda bokstäverna är versaler, enligt följande identifierare:

IOStream

CamelCasing-konventionen, som endast används för parameternamn, versaliserar det första tecknet för varje ord utom det första ordet, som visas i följande exempel. Som exemplet också visar är tvåbokstavsakronymer som påbörjar en kamelkaderad identifierare båda gemener.

propertyDescriptor ioStream htmlTag

✔️ ANVÄND PascalCasing för alla offentliga medlems-, typ- och namnområdesnamn som består av flera ord.

✔️ ANVÄND camelCasing för parameternamn.

I följande tabell beskrivs versaler för olika typer av identifierare.

Identifierare Skiftläge Exempel
Namnområde Pascal namespace System.Security { ... }
Typ Pascal public class StreamReader { ... }
Gränssnitt 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;
}
Fält Pascal public class MessageQueue {
public static readonly TimeSpan
InfiniteTimeout;
}
public struct UInt32 {
public const Min = 0;
}
Uppräknat värde Pascal public enum FileMode {
Append,
...
}
Parameter Initial versal public class Convert {
public static int ToInt32(string value);
}

Versalisera sammansatta ord och vanliga termer

De flesta sammansatta termer behandlas som enkla ord för versaler.

❌ Versalera INTE varje ord i så kallade slutna sammansatta ord.

Det här är sammansatta ord som skrivs som ett enda ord, till exempel slutpunkt. I syfte att hölje riktlinjer, behandla en sluten form sammansatta ord som ett enda ord. Använd en aktuell ordlista för att avgöra om ett sammansatt ord skrivs i stängt format.

Pascal Initial versal 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

Skiftlägeskänslighet

Språk som kan köras på CLR krävs inte för att stödja skiftlägeskänslighet, även om vissa gör det. Även om ditt språk stöder det, gör inte andra språk som kan komma åt ditt ramverk. Alla API:er som är externt tillgängliga kan därför inte enbart använda skiftläge för att skilja mellan två namn i samma kontext.

❌ Anta INTE att alla programmeringsspråk är skiftlägeskänsliga. Det sker inte. Namn kan inte skilja sig åt från fall till fall.

Portioner © 2005, 2009 Microsoft Corporation. Med ensamrätt.

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, publicerad 22 okt 2008 av Addison-Wesley Professional som en del av Microsoft Windows Development Series.

Se även