Nomi di membri dei tipi
Nota
Questo contenuto viene ristampato con l'autorizzazione di Pearson Education, Inc. da Framework Design Guidelines: Conventions, Idiomsn and Patterns for Reusable .NET Libraries, 2nd Edition. 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 illustrano le linee guida per assegnare nomi ai membri dei tipi.
Nomi dei metodi
I metodi sono il mezzo per l'esecuzione delle azioni. Pertanto le linee guida di progettazione richiedono che i nomi dei metodi siano verbi o frasi verbali. L'osservazione di questa linea guida è anche utile per distinguere i nomi dei metodi dai nomi delle proprietà e dei tipi, che sono frasi nominali o aggettivali.
✔️ Assegnare ai metodi nomi corrispondenti a verbi o frasi verbali.
public class String {
public int CompareTo(...);
public string[] Split(...);
public string Trim();
}
Nomi delle proprietà
A differenza degli altri membri, è necessario assegnare alle proprietà sintagmi nominali o nomi aggettivali. Il motivo è che una proprietà fa riferimento ai dati e il nome della proprietà deve riflettere questo fatto. Per i nomi delle proprietà viene sempre usata la notazione Pascal.
✔️ Denominare le proprietà con un sostantivo, un sintagma nominale o un aggettivo.
❌ NON definire proprietà il cui nome corrisponde a quello dei metodi "Get", come nell'esempio seguente:
public string TextWriter { get {...} set {...} }
public string GetTextWriter(int value) { ... }
Questo criterio in genere indica che la proprietà dovrebbe di fatto essere un metodo.
✔️ Assegnare alle proprietà raccolta una frase plurale che descrive gli elementi nella raccolta, anziché usare una frase singolare seguita da "List" o "Collection".
✔️ Assegnare alle proprietà booleane una frase affermativa (CanSeek
invece di CantSeek
). È anche possibile fare iniziare le proprietà booleane con "Is", "Can" o "Has", ma solo se si aggiunge valore.
✔️ Valutare la possibilità di assegnare a una proprietà lo stesso nome del tipo della proprietà.
Ad esempio, la proprietà seguente ottiene e imposta correttamente un valore di enumerazione denominato Color
, pertanto è denominata Color
:
public enum Color {...}
public class Control {
public Color Color { get {...} set {...} }
}
Nomi degli eventi
Gli eventi fanno sempre riferimento a un'azione, che può essere in corso o già terminata. Pertanto, come nel caso dei metodi, i nomi degli eventi devono essere verbi e il tempo verbale indica il momento in cui viene generato l'evento.
✔️ Assegnare agli eventi nomi corrispondenti a verbi o frasi verbali.
Alcuni esempi sono Clicked
, Painting
o DroppedDown
.
✔️ Assegnare agli eventi nomi che includano il concetto di prima e dopo, usando il presente e il passato.
Ad esempio, un evento di chiusura generato prima della chiusura di una finestra può essere chiamato Closing
, mentre uno generato dopo la chiusura della finestra può essere chiamato Closed
.
❌ NON usare prefissi o suffissi "Before" o "After" per indicare eventi precedenti o successivi ad altri elementi. Usare il presente e il passato come descritto in precedenza.
✔️ Assegnare ai gestori dell'evento (delegati usati come tipi di eventi) il suffisso "EventHandler", come illustrato nell'esempio seguente:
public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);
✔️ Usare due parametri denominati sender
e e
nei gestori dell'evento.
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.
✔️ Denominare le classi di argomenti dell'evento con il suffisso "EventArgs".
Nomi dei campi
Le linee guida per i nomi dei campi si applicano ai campi statici pubblici e protetti. I campi interni e privati non sono descritti in queste linee guida, mentre i campi istanza pubblica o istanza protetta non sono consentiti dalle linee guida di progettazione dei membri.
✔️ Usare la notazione Pascal nei nomi dei campi.
✔️ Denominare i campi con un sostantivo, un sintagma nominale o un aggettivo.
❌ NON usare un prefisso per i nomi dei campi.
Ad esempio evitare di usare "g_" o "s _" per indicare i campi statici.
Parti protette da copyright © 2005, 2009 Microsoft Corporation. Tutti i diritti sono riservati.
Ristampato con l'autorizzazione di Pearson Education, Inc. da Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2a edizione di Krzysztof Cwalina and Brad Abrams, pubblicato il 22 ottobre 2008 da Addison-Wesley Professional nella collana Microsoft Windows Development Series.