.NET e Nomeclatura: Classi, metodi e proprietà (Resharper mi aiuta)

Visti i continui cambi di metodologia applicata da vari clienti nella nomeclatura di classi, metodi e proprità vorrei fare un piccolo sunto basandomi, non sullo stato odierno dei miei ormoni, ma sul seguente articolo msdn: http://msdn.microsoft.com/en-us/library/xzf533w0(v=VS.71).aspx

La nomeclatura “corretta” e “non corretta” non è un argomento che nasce oggi ma è vecchio come è vecchia la CPU e varia (a volte di poco a volte di molto) a seconda del linguaggio.

Per comodità io mi baserò su C# e lo farò in maniera mooolto pragmatica (per approfondimenti riferitevi al link di cui sopra).

Partiamo da una regola generale: Classi, Metodi, Proprietà etc dovrebbero essere Pascal case

Classi

Nomi validi:

  • public class FileStream
  • public class Button
  • public class String

Nomi Invalidi:

  • public class CFileStream –> no prefix character
  • public class _Button –> come sopra
  • public class IString –> I viene usata per le interfacce
  • public class FS –> I nomi delle classi devono essere autoesplicativi

 

Metodi

Validi:

  • RemoveAll()
  • GetCharArray()
  • Invoke()

Non validi:

  • removeAll() –> non è pascal case
  • getchararray() –> neanche questo
  • _invoke() –> ha un carattere prima del nome reale del metodo
  • minvoke() –> come sopra

 

Proprietà

Validi:

  • public Color Color { get; set; }
  • public Color BackColor { get; set; }

Non valido:

  • public Int32 Color { get; set; }
  • public Color backColor { get; set; }

 

un discorso a parte dovrebbe essere fatto per i parametri ma, sempre in quel benedetto link, troverete tutto.

Se trovate tutto ciò scomodo o troppo complesso da ricordare, o qualcuno nel vostro team non vuole adattarsi perchè pensa d’avere la Scienza Infusa,
bene siate propositivi e comprate ReSharper.

Grazie a tutti coloro che vorranno standardizzarsi A bocca aperta

Rebitting Tags: | |