10 febbraio 2009
Stile del codice - il prefisso 'm_'
Tags:
c++,
csharp,
programmazione
Nel corso di anni di lavoro su codice legacy C++ ho mantenuto per tanto tempo la convenzione (o cattiva abitudine) di inserire il prefisso 'm_' all'inizio dei nomi delle variabili dichiarate come membro di una classe.
Con il tempo, per fortuna, mi sono convertito, specialmente nel codice C#, a sostituire il prefisso 'm_' con un più leggibile 'this.'.
A prima vista scrivere 'this.Name' invece di 'm_Name' sembra uno stile più prolisso ma, oltre ad essere effettivamente più chiaro da leggere, ha diversi vantaggi che aiutano a migliorare la qualità del codice.
Prima di tutto, utilizzando la sintassi del linguaggio, questo prefisso impedisce di sbagliare: sia l'IDE che il compilatore verificano che non sia possibile scrivere 'this.Name' su una variabile
locale, globale o statica.
Per lo stesso motivo, è comune che la funzione di auto completamento dell'IDE sia in grado di proporre immediatamente, dopo aver digitato 'this.', una lista di metodi, variabili e proprietà membro della classe corrente, aiutando così la scrittura veloce del codice.
Come appena accennato, inoltre, il 'this.' è applicabile sia a metodi che a variabili che a proprietà, questo indipendentemente dal loro nome effettivo.
Ed ecco che l'uso della convenzione 'm_' va a finire nel dimenticatoio, senza rimpianti ...
Iscriviti a:
Commenti sul post (Atom)
Io sono ancora combattuto per quanto riguarda il C++. Dopo una breve parentesi col prefisso m_ ora son passato al postfisso _ per le variabili.
RispondiEliminaProbabilmente perchè in C++ il this è un puntatore e quindi tocca usare l'operatore -> che non mi piace granchè. ^^
In C# invece uso tranquillamente this. e tanti saluti! :D
PS: non so se è un problema mio, ma l'unico modo per postare un commento sul tuo blog è passare per l'anteprima. Altrimenti non esce l'immagine CAPTCHA.
Ciau!
Fortunatamente in questo periodo sto sviluppando solo in C# :)
RispondiEliminaPer quanto riguarda il C++ credo che rimarrò sul vecchio standard, almeno per il codice legacy, anche a me non piace molto l'idea di un this-> ...
Nota sul messaggio - ho provato la tua sequenza: il CAPTCHA viene fuori come popup nel momento in cui premo 'Posta Commento' .. a questo punto forse dipende dal browser ..
RispondiEliminaMi sa che è colpa di Safari. LOL. :D
RispondiEliminaConfermo :)
RispondiElimina