Naming linee guida con C #
-
18-09-2019 - |
Domanda
Ho questa classe:
class DoSomething
{
private int timesDone;
...
}
Qual è il modo giusto per 'timesDone' nome variabile?
A volte vedo nominato come m_timesDone . È corretto? Dove posso trovare informazioni sulla denominazione di linee guida?
Grazie!
Soluzione
Secondo gli standard MS il codice è OK. Avendo prefissi come M_ non è realmente necessario quando si dispone di IDE avanzato. Tuttavia breve prefisso come _ può essere utilizzato per sfruttare automatico completa di funzioni per risolvere rapidamente i membri della classe.
ti consiglierei di ottenere una copia di " orientamenti quadro Design: Convegni, Modi di dire e modelli per riutilizzabile .NET Libraries " libro per saperne di più sugli standard MS
Altri suggerimenti
Non c'è un modo universale a destra. Ha scelto una convenzione di denominazione di vostro gradimento e bastone con esso.
Sicuramente non usare m_timesDone.
In poche parole "int timesDone privata".
È possibile conoscere come denominare le variabili leggendo qualche buon libro, come codice completo.
Molte persone fare come hai lì. Si potrebbe quindi fare riferimento come
this.timesDone = someInt
Tuttavia, non mi piace questo perché io non sono un fan di digitando 'questo' per evitare scontri con i nomi dei parametri metodo. Fintanto che è leggibile e coerente vi andrà bene.
La convenzione di premettere campi membro con m_ viene dai primi giorni di C ++, quando notazione ungherese era popolare. Non è un C # convenzione, e poiché la maggior parte del codice C # è scritto utilizzando un recente Visual Studio aggiunge rumore visivo senza alcun corrispondente vantaggio, perché si può facilmente vedere l'ambito di una variabile in ogni caso. Non usare m_.
L'esempio solitario della notazione ungherese che ha trovato la sua strada in C # è la pratica di premettere nomi delle classi di interfaccia con I, come IDisposable.
Potete trovare alcune informazioni direttamente sul sito MSDN: http://msdn.microsoft.com/en-us/library/ms229002. aspx
L'unico punto di accordo che troverete è che dovrebbe non essere TimesDown, ma che dovrebbe iniziare con una lettera minuscola.
Nelle pubblicazioni più vecchie (MS, MSDN), l'uso di una sottolineatura è scoraggiato. Più tardi è tornato, soprattutto per backingfields per le proprietà:. _TimesDown
La strategia solitamente adottata è:
Class e Metodo : Pascal Cassa
per es.
public class Program
{
}
es
public void DoSomething() { }
Variabili : Camel Cassa per esempio timesDown
variabili locali:
aTimesDown
variabili globali:
myTimesDown
Spero che questo possa aiutare :)