Condividi tramite


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.

Vedi anche