Namen van type leden
Notitie
Deze inhoud wordt opnieuw afgedrukt door toestemming van Pearson Education, Inc. van Framework Design Guidelines: Conventions, Idioms en Patterns for Reusable .NET Libraries, 2nd Edition. Die editie werd in 2008 gepubliceerd en het boek is sindsdien volledig herzien in de derde editie. Sommige informatie op deze pagina is mogelijk verouderd.
Typen zijn gemaakt van leden: methoden, eigenschappen, gebeurtenissen, constructors en velden. In de volgende secties worden richtlijnen beschreven voor naamgevingstypeleden.
Namen van methoden
Omdat methoden de manier zijn om actie te ondernemen, vereisen de ontwerprichtlijnen dat methodenamen werkwoorden of werkwoordzinnen zijn. Aan de hand van deze richtlijn worden ook methodenamen onderscheiden van eigenschaps- en typenamen, die zelfstandig naamwoorden of bijvoeglijke naamwoordzinnen zijn.
✔️ Geef methodennamen die werkwoorden of werkwoordzinnen zijn.
public class String {
public int CompareTo(...);
public string[] Split(...);
public string Trim();
}
Namen van eigenschappen
In tegenstelling tot andere leden moeten eigenschappen naamwoordzinnen of bijvoeglijke naamwoordnamen krijgen. Dat komt doordat een eigenschap verwijst naar gegevens en de naam van de eigenschap weerspiegelt dat. PascalCasing wordt altijd gebruikt voor eigenschapsnamen.
✔️ DO-naameigenschappen met behulp van een zelfstandig naamwoord, zelfstandig naamwoord of bijvoeglijk naamwoord.
❌ GEEN eigenschappen hebben die overeenkomen met de naam van 'Get'-methoden, zoals in het volgende voorbeeld:
public string TextWriter { get {...} set {...} }
public string GetTextWriter(int value) { ... }
Dit patroon geeft meestal aan dat de eigenschap echt een methode moet zijn.
✔️ EIGENSCHAPPEN VAN DO-naamverzameling met een meervoudszin die de items in de verzameling beschrijft in plaats van een enkelvoudige woordgroep te gebruiken, gevolgd door 'Lijst' of 'Verzameling'.
✔️ DO noem booleaanse eigenschappen met een bevestigende woordgroep (CanSeek
in plaats van CantSeek
). Desgewenst kunt u ook Booleaanse eigenschappen voorafvoegen met 'Is', 'Can' of 'Has', maar alleen waar deze waarde toevoegt.
✔️ OVERWEEG om een eigenschap dezelfde naam te geven als het type.
De volgende eigenschap wordt bijvoorbeeld correct opgehaald en stelt een opsommingswaarde met de naam Color
in, zodat de eigenschap de naam Color
heeft:
public enum Color {...}
public class Control {
public Color Color { get {...} set {...} }
}
Namen van gebeurtenissen
Gebeurtenissen verwijzen altijd naar een actie, een actie die zich voordoet of een actie die heeft plaatsgevonden. Daarom worden gebeurtenissen, net als bij methoden, benoemd met werkwoorden en werkwoordstijd gebruikt om de tijd aan te geven waarop de gebeurtenis wordt gegenereerd.
✔️ DO naam gebeurtenissen met een werkwoord of een woordgroep.
Voorbeelden hiervan zijn Clicked
, Painting
, DroppedDown
enzovoort.
✔️ GEEF gebeurtenissen namen met een concept van voor en na, met behulp van de huidige en afgelopen vakken.
Een gesloten gebeurtenis die wordt gegenereerd voordat een venster wordt gesloten, wordt bijvoorbeeld aangeroepen en een gebeurtenis die wordt gegenereerd nadat het venster is gesloten, wordt aangeroepenClosing
Closed
.
❌ GEBRUIK GEEN voor- of navoegsels voor- of navoegsels om voor- en nagebeurtenissen aan te geven. Gebruik huidige en afgelopen vakken zoals zojuist is beschreven.
✔️ DO-naamgebeurtenishandlers (gemachtigden die worden gebruikt als typen gebeurtenissen) met het achtervoegsel EventHandler, zoals wordt weergegeven in het volgende voorbeeld:
public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);
✔️ GEBRUIK twee parameters met de naam sender
en e
in gebeurtenis-handlers.
De afzenderparameter vertegenwoordigt het object dat de gebeurtenis heeft gegenereerd. De afzenderparameter is meestal van het type object
, zelfs als het mogelijk is om een specifieker type te gebruiken.
✔️ ARGUMENTklassen voor DO-naam met het achtervoegsel EventArgs.
Namen van velden
De richtlijnen voor veldnamen zijn van toepassing op statische openbare en beveiligde velden. Interne en privévelden vallen niet onder richtlijnen en openbare of beveiligde exemplaarvelden zijn niet toegestaan door de ontwerprichtlijnen voor leden.
✔️ GEBRUIK PascalCasing in veldnamen.
✔️ DO-naamvelden met behulp van een zelfstandig naamwoord, naamwoordzin of bijvoeglijk naamwoord.
❌ GEBRUIK GEEN voorvoegsel voor veldnamen.
Gebruik bijvoorbeeld 'g_' of 's_' niet om statische velden aan te geven.
© Delen 2005, 2009 Microsoft Corporation. Alle rechten voorbehouden.
Herdrukt door toestemming van Pearson Education, Inc. van 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 als onderdeel van de Microsoft Windows Development Series.