Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
, Painting
DroppedDown
, 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 Closing
e 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.