Konwencje dotyczące wielkości liter

Uwaga

Ta zawartość jest drukowana przez uprawnienie Pearson Education, Inc. z Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Wydanie to zostało opublikowane w 2008 roku, a książka została w pełni zmieniona w trzecim wydaniu. Niektóre informacje na tej stronie mogą być nieaktualne.

Wytyczne w tym rozdziale określają prostą metodę użycia, która w przypadku spójnego stosowania sprawia, że identyfikatory typów, składowych i parametrów są łatwe do odczytania.

Reguły wielkich liter dla identyfikatorów

Aby odróżnić wyrazy w identyfikatorze, należy wielką literę każdego wyrazu w identyfikatorze. Nie należy używać podkreśleń do rozróżniania wyrazów lub w tym przypadku w dowolnym miejscu w identyfikatorach. Istnieją dwa odpowiednie sposoby tworzenia wielkich liter identyfikatorów w zależności od użycia identyfikatora:

  • PascalCasing

  • camelCasing

Konwencja PascalCasing, używana dla wszystkich identyfikatorów z wyjątkiem nazw parametrów, wielką literą pierwszego znaku każdego słowa (w tym akronimami o długości dwóch liter), jak pokazano w poniższych przykładach:

PropertyDescriptor HtmlTag

Specjalny przypadek jest wykonany dla dwuliterowych akronimów, w których obie litery są pisane wielkimi literami, jak pokazano w następującym identyfikatorze:

IOStream

Konwencja camelCasing, używana tylko dla nazw parametrów, wielką literą pierwszego znaku każdego wyrazu z wyjątkiem pierwszego słowa, jak pokazano w poniższych przykładach. Jak pokazano w przykładzie, dwuliterowe akronimy rozpoczynające identyfikator camel-cased są małymi literami.

propertyDescriptor ioStream htmlTag

✔️ Należy użyć PascalCasing dla wszystkich publicznych nazw elementów członkowskich, typów i przestrzeni nazw składających się z wielu wyrazów.

✔️ DO używać camelCasing dla nazw parametrów.

W poniższej tabeli opisano reguły tworzenia liter dla różnych typów identyfikatorów.

Identyfikator Wielkość liter Przykład
Przestrzeń nazw Pascal namespace System.Security { ... }
Typ Pascal public class StreamReader { ... }
Interfejs Pascal public interface IEnumerable { ... }
Method Pascal public class Object {
public virtual string ToString();
}
Właściwości Pascal public class String {
public int Length { get; }
}
Zdarzenie 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;
}
Wartość wyliczenia Pascal public enum FileMode {
Append,
...
}
Parametr Camel public class Convert {
public static int ToInt32(string value);
}

Wielkie litery wyrazów złożonych i typowych terminów

Większość złożonych terminów jest traktowana jako pojedyncze wyrazy na potrzeby wielkich liter.

❌ NIE wielką literą każdego wyrazu w wyrazach złożonych o tak zwanej postaci zamkniętej.

Są to wyrazy złożone napisane jako pojedyncze słowo, takie jak punkt końcowy. Na potrzeby wytycznych dotyczących wielkości liter należy traktować słowo złożone w postaci zamkniętej jako pojedyncze słowo. Użyj bieżącego słownika, aby określić, czy słowo złożone jest pisane w postaci zamkniętej.

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

Ważność wielkości liter

Języki, które mogą być uruchamiane w środowisku CLR, nie są wymagane do obsługi poufności przypadków, chociaż niektóre z nich to robią. Nawet jeśli twój język go obsługuje, inne języki, które mogą uzyskiwać dostęp do platformy, nie. W związku z tym wszystkie interfejsy API, które są dostępne zewnętrznie, nie mogą polegać tylko na wielkości liter, aby odróżnić dwie nazwy w tym samym kontekście.

❌ NIE zakładaj, że w przypadku wszystkich języków programowania jest rozróżniana wielkość liter. Nie jest to prawdą. Nazwy nie mogą się różnić w zależności od wielkości liter.

© Części 2005, 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone.

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 w ramach Microsoft Windows Development Series.

Zobacz też