Naming Conventions [C#]

Un argomento spesso sottovalutato nello sviluppo di codice è quello delle “Naming Conventions” o  “Convenzioni di Denominazione” cioè il modo di denominare classi, proprietà, variabili e tutto cioè che può essere presente nel codice di un software.

Si tratta di convenzioni e non di regole e hanno uno scopo ben preciso e cioè

  • Dare al codice un aspetto coerente in modo che chi legge possa concentrarsi sul contenuto, non sul layout.
  • Dare a chi legge la possibilità di comprendere il codice più rapidamente, formulando presupposti basati sulle esperienze precedenti.
  • Facilitare la copia, la modifica e la gestione del codice.

I modi in cui ogni identificatore può essere chiamato sono fondamentalmente i seguenti :

UPPER CASE  in cui tutti i caratteri sono scritti in maiuscolo (ad esempio: LARGHEZZA, DURATA, TEST )

Pascal Case (o UpperCamelCase ) in cui il primo carattere di ogni parola deve essere maiuscolo (ad esempio: BackgroundColor  )

camel Case  in cui il primo carattere di ogni parola deve essere minuscolo (ad esempio: fontColor  )

Underscore Prefix in cui si aggiunge il prefisso ( _ ) alla parola e successivamente si usa la terminologia camelCase  (ad esempio _variabileIntera)

Vediamo ora quali sono le convenzioni usate

Campi Privati Underscore Prefix _costoUnitario
Campi Pubblici Pascal Case PrezzoTotale
Campi Protected Pascal Case TotaleIva
Campi Internal Pascal Case TotaleSenzaIva
Variabili locali Camel Case userName
Classi Pascal Case SiteConfiguration
Tipi enumerati Pascal Case MyColors
Interfacce Pascal Case IDisposable
Metodi Pascal Case ToString
Namespace Pascal Case System.Linq
Parametri Camel Case typeName
Propietà Pascal Case FontColor
Costanti Upper Case LUNGHEZZA

Oltre a queste convenzioni di sono delle regole non scritte che vengono utilizzate come buone norme di programmazione.

  • scegliere i nomi degli identificatori facilmente leggibili :
    Ad esempio variabili di nome pippo o pluto sono sicuramente da evitare al contrario totaleCosti, altezzaFinestra, profonditaInBit sono più indicate
  • privilegiare la leggibilità alla  brevità
    Anche se a volte può sembrare più comodo avere nomi corti per indicare variabili o campi o classi si deve sempre ragionare in termini di laggibilità per cui  ad esempio

    public string GetPosts(string postId  
    {  
       int numberOfPost = 0;   
    }

    è molto più leggibile di

    public string GetPosts(string postId  
    {  
       int n = 0;   
    }
  • Utilizzare delle abbreviazioni particolari come prefisso quando si devono indicare dei controlli standard:
    Ad esempio per indicare il pulsante (button) di invio di una maschera si può usare btnInvioDati
    Abbreviazione Controllo
    btn Button
    cb CheckBox
    cbl CheckBoxList
    ddl DropDownList
    fu FileUpload
    hdn HiddenField
    hlk Hyperlink
    img Image
    lbl Label
    lbtn LinkButton
    mv MultiView
    pnl Panel
    txt TextBox
    dtg DataGrid
    imb ImageButton
    lst ListBox
    dtl DataList
    rep Repeater
    rdo RadioButton
    rdl RadioButtonList
    phd Placeholder
    tbl Table
    gv GridView
    dtv DetailView
    fv FormView

    Today we learned coding standard na

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *