Tutti noi sviluppatori sappiamo quanto sia importante scrivere il nostro codice in modo che sia facilmente leggibile ed interpretabile, per gli altri ma anche per noi stessi. Microsoft, a tal scopo, ha divulgato ormai da alcuni anni una serie di linee guida e buone pratiche che se seguite scrupolosamente permettono di raggiungere l'obiettivo di produrre codice leggibile e facile da mantenere.
Ma quanti conoscono realmente tutte queste regole e le applicano quotidianamente nel proprio lavoro? Con questo post volevo dare inizio ad una serie di "pillole" in cui riportare le linee guida più importanti, innanzitutto per portarle alla vostra attenzione ma anche per discuterne insieme la validità . Non dimentichiamoci infatti che nessuno ci obbliga a seguire queste regole e quindi, se qualcuno ha trovato difetti in alcune di esse, questa può essere l'occasione per discuterne insieme.
Iniziamo con una serie di convenzioni relative ai nomi, in particolare le regole di Capitalization, che sono:
- Pascal Case, prevede che la prima lettera del nome dell'identificativo e le prime lettere di ogni successiva parola concatenata vadano in maiuscolo, es: BackColor;
- Camel Case, prevede che la prima lettera dell'identificativo sia minuscola mentre le prime lettere delle successive parole concatenate siano maiuscole, es: backColor;
- Upper Case, tutte le lettere in maiuscolo, es: IO;
Nel caso in cui l'identificativo contenga più parole, Microsoft raccomanda di non utilizzare caratteri di separazione quali underscore ('_') o trattino ('-'), ma di lasciare semplicemente che l'alternanza delle lettere maiuscole e minuscole delle parole concatenate permetta di distinguerle.
Il Pascal Case è consigliato per tutti i membri pubblici, i tipi e i namespace mentre il Camel Case è consigliato per i nomi dei parametri.
Viene inoltre ribadito che non deve assolutamente essere utilizzato il case delle lettere per distinguere due identificativi in quanto non tutti i linguaggi di programmazione sono case sensitive e quindi si potrebbero avere problemi in caso di integrazione con altri linguaggi.