Condividi tramite


Nomi dei membri di tipo

Annotazioni

Questo contenuto viene ristampato con il permesso di Pearson Education, Inc. da Framework Design Guidelines: Conventions, Idioms e Pattern per Librerie .NET Riutilizzabili, 2a Edizione. Tale edizione è stata pubblicata nel 2008 e il libro è stato completamente rivisto nella terza edizione. Alcune informazioni in questa pagina potrebbero non essere aggiornate.

I tipi sono costituiti da membri: metodi, proprietà, eventi, costruttori e campi. Le sezioni seguenti descrivono le linee guida per la denominazione dei membri del tipo.

Nomi dei metodi

Poiché i metodi sono i mezzi per intervenire, le linee guida di progettazione richiedono che i nomi dei metodi siano verbi o frasi verbo. Seguire questa linea guida permette anche di distinguere i nomi dei metodi dai nomi delle proprietà e dei tipi, che sono frasi nominali o aggettivali.

✔️ Assegna ai metodi nomi che siano verbi o frasi verbali.

public class String {
    public int CompareTo(...);
    public string[] Split(...);
    public string Trim();
}

Nomi delle proprietà

A differenza di altri membri, alle proprietà devono essere assegnati nomi sostantivi o aggettivi. Ciò è dovuto al fatto che una proprietà fa riferimento ai dati e il nome della proprietà lo riflette. PascalCasing viene sempre usato per i nomi delle proprietà.

✔️ Nomina le proprietà usando un sostantivo, una frase nominale o un aggettivo.

❌ NON hanno proprietà che corrispondono al nome dei metodi "Get" come nell'esempio seguente:

public string TextWriter { get {...} set {...} } public string GetTextWriter(int value) { ... }

Questo modello indica in genere che la proprietà deve essere effettivamente un metodo.

✔️ Usare nomi per le proprietà delle raccolte con una frase plurale che descrive gli elementi nella raccolta anziché usare una frase singolare seguita da "Lista" o "Collezione".

✔️ Indicare le proprietà booleane con una frase affermativa (CanSeek anziché CantSeek). Facoltativamente, è anche possibile anteporre le proprietà booleane con "Is", "Can" o "Has", ma solo dove aggiunge valore.

✔️ VALUTARE la possibilità di assegnare a una proprietà lo stesso nome del tipo.

Ad esempio, la proprietà seguente ottiene e imposta correttamente un valore di enumerazione denominato Color, in modo che la proprietà sia denominata Color:

public enum Color {...}
public class Control {
    public Color Color { get {...} set {...} }
}

Nomi degli eventi

Gli eventi fanno sempre riferimento a un'azione, una che sta accadendo o una che si è verificata. Di conseguenza, come con i metodi, gli eventi vengono denominati con verbi e il tempo verbale viene usato per indicare il momento in cui l'evento viene generato.

✔️ Assegna un nome agli eventi usando un verbo o una frase verbale.

Gli esempi includono Clicked, PaintingDroppedDown, e così via.

✔️ Assegna nomi agli eventi che incorporino un concetto di prima e dopo, utilizzando i tempi del presente e del passato.

Ad esempio, un evento close generato prima della chiusura di una finestra verrà chiamato Closinge uno generato dopo la chiusura della finestra verrà chiamato Closed.

Non utilizzare i prefissi o i suffissi "Before" o "After" per indicare eventi precedenti e successivi. Usare i tempi presenti e passati come appena descritto.

✔️ Nominate i gestori di eventi (delegati usati come tipi di eventi) con il suffisso "EventHandler", come illustrato nell'esempio seguente:

public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);

✔️ DO usa due parametri denominati sender e e nei gestori eventi.

Il parametro sender rappresenta l'oggetto che ha generato l'evento. Il parametro sender è in genere di tipo object, anche se è possibile usare un tipo più specifico.

✔️ Utilizzare il suffisso "EventArgs" per le classi di argomenti dell'evento.

Nomi dei campi

Le linee guida per la denominazione dei campi si applicano ai campi statici pubblici e protetti. I campi interni e privati non sono coperti dalle linee guida e i campi dell'istanza pubblica o protetta non sono consentiti dalle linee guida per la progettazione dei membri.

✔️ DO usa PascalCasing nei nomi dei campi.

✔️ Campi nome DO usando un sostantivo, una frase sostantiva o un aggettivo.

❌ NON usare un prefisso per i nomi di campo.

Ad esempio, non usare "g_" o "s_" per indicare i campi statici.

© Porzioni 2005, 2009 Microsoft Corporation. Tutti i diritti riservati.

Ristampato dall'autorizzazione di Pearson Education, Inc. da Framework Design Guidelines: Conventions, Idioms e Patterns for Reusable .NET Libraries, 2nd Edition di Krzysztof Cwalina e Brad Abrams, pubblicato il 22 ottobre 2008 da Addison-Wesley Professional come parte della Serie di sviluppo di Microsoft Windows.

Vedere anche