Convenzioni per l'utilizzo di maiuscole e minuscole
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.
Le linee guida di questo capitolo illustrano un metodo semplice per l'uso di maiuscole/minuscole che, se applicato in modo coerente, rende facili da leggere gli identificatori per tipi, membri e parametri.
Regole sull'uso di maiuscole e minuscole per gli identificatori
Per distinguere le parole in un identificatore, inserire in maiuscolo la prima lettera di ogni parola nell'identificatore. Non usare caratteri di sottolineatura per distinguere le parole e, in ogni caso, non usarli in generale negli identificatori. Esistono due modi appropriati per capitalizzare gli identificatori, a seconda dell'uso dell'identificatore:
PascalCasing
camelCasing
La convenzione PascalCasing, usata per tutti gli identificatori tranne i nomi dei parametri, usa un'iniziale maiuscola per il primo carattere di ogni parola (inclusi gli acronimi di lunghezza superiore a due lettere), come illustrato negli esempi seguenti:
PropertyDescriptor
HtmlTag
Un caso speciale riguarda gli acronimi di due lettere in cui entrambe le lettere sono maiuscole, come illustrato nell'identificatore seguente:
IOStream
La convenzione camelCasing, usata solo per i nomi dei parametri, usa un'iniziale maiuscola per il primo carattere di ogni parola tranne la prima, come illustrato negli esempi seguenti. Come illustrato nell'esempio, anche gli acronimi di due lettere che iniziano con un identificatore con maiuscole e minuscole camel sono entrambi minuscoli.
propertyDescriptor
ioStream
htmlTag
✔️ USARE PascalCasing per tutti i nomi di membri, tipi e spazi dei nomi pubblici costituiti da più parole.
✔️ USARE camelCasing per i nomi dei parametri.
Nella tabella seguente vengono descritte le regole di distinzione tra maiuscole e minuscole per diversi tipi di identificatori.
Identificatore | Maiuscole/minuscole | Esempio |
---|---|---|
Spazio dei nomi | Pascal | namespace System.Security { ... } |
Type | Pascal | public class StreamReader { ... } |
Interfaccia | Pascal | public interface IEnumerable { ... } |
metodo | Pascal | public class Object { public virtual string ToString(); } |
Proprietà | Pascal | public class String { public int Length { get; } } |
Event | Pascal | public class Process { public event EventHandler Exited; } |
Campo | Pascal | public class MessageQueue { public static readonly TimeSpan InfiniteTimeout; } public struct UInt32 { public const Min = 0; } |
Valore enumerazione | Pascal | public enum FileMode { Append, ... } |
Parametro | notazione Camel | public class Convert { public static int ToInt32(string value); } |
Uso di lettere maiuscole per le parole composte e i termini comuni
La maggior parte dei termini composti viene considerata come una singola parola ai fini della capitalizzazione.
❌ NON usare iniziali maiuscole per ogni parola nelle parole composte con la cosiddetta forma chiusa.
Si tratta di parole composte scritte come parola singola, ad esempio endpoint. Ai fini delle linee guida per la combinazione di maiuscole e minuscole, considerare una parola composta in forma chiusa come una singola parola. Utilizzare un dizionario corrente per determinare se una parola composta viene scritta in formato chiuso.
Pascal | notazione Camel | Not |
---|---|---|
BitFlag |
bitFlag |
Bitflag |
Callback |
callback |
CallBack |
Canceled |
canceled |
Cancelled |
DoNot |
doNot |
Don't |
Email |
email |
EMail |
Endpoint |
endpoint |
EndPoint |
FileName |
fileName |
Filename |
Gridline |
gridline |
GridLine |
Hashtable |
hashtable |
HashTable |
Id |
id |
ID |
Indexes |
indexes |
Indices |
LogOff |
logOff |
LogOut |
LogOn |
logOn |
LogIn |
Metadata |
metadata |
MetaData, metaData |
Multipanel |
multipanel |
MultiPanel |
Multiview |
multiview |
MultiView |
Namespace |
namespace |
NameSpace |
Ok |
ok |
OK |
Pi |
pi |
PI |
Placeholder |
placeholder |
PlaceHolder |
SignIn |
signIn |
SignOn |
SignOut |
signOut |
SignOff |
UserName |
userName |
Username |
WhiteSpace |
whiteSpace |
Whitespace |
Writable |
writable |
Writeable |
Maiuscole/minuscole
I linguaggi che possono essere eseguiti in CLR non devono necessariamente supportare la distinzione tra maiuscole e minuscole, anche se alcuni la supportano. Anche se il linguaggio lo supporta, altri linguaggi che potrebbero accedere al framework non lo supportano. Tutte le API accessibili esternamente, pertanto, non possono basarsi solo su maiuscole e minuscole per distinguere tra due nomi nello stesso contesto.
❌ NON presupporre che tutti i linguaggi di programmazione facciano distinzione tra maiuscole e minuscole. Ma non lo sono. I nomi non possono essere diversi solo con maiuscole/minuscole.
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.