Guardando le esercitazioni Android come the Notepad tutorial, ho notato che quasi tutte le variabili sono denominate a partire dalla lettera "m". Che convenzione è questa e da dove proviene?Perché i nomi delle variabili iniziano spesso con la lettera "m"?
risposta
Questo significa membro. Personalmente ritengo questa convenzione non utile, ma è soggettiva.
Ho sempre letto la 'm' come 'mia'. Buono a sapersi che non è così stupido, lol – Falmarri
Non ho mai capito nemmeno questa convenzione. Perché aggiungere una "m" dispari quando puoi usare "this"? L'intero punto di quella parola chiave è indicare che hai a che fare con una variabile/funzione membro della classe. –
OK, "m" è molto frainteso. Non penso sia importante se usi o meno un IDE, tutte le variabili dovrebbero seguire questa convenzione. Usando questa convenzione si può rapidamente vedere il codice immediatamente davanti a loro e comprendere prontamente l'ambito delle variabili, trovo questo estremamente importante con le attività Android. Non devo interrompere la mia catena di pensiero tracciando sempre le variabili attraverso l'IDE, è MOLTO meglio per scopi di concentrazione. – AutoM8R
"m" significa membro della classe. Quindi, se non utilizzi IDE per evidenziare i tuoi membri, capirai che si tratta di un membro con il suo nome
questo ha più senso per me quindi il resto delle risposte –
'm' significa che la variabile è una variabile membro della classe ...
Come già risposto a questo prefisso indcates che una variabile è membro.
somtimes persone usano altri prefissi se si scopre alcune variabili che iniziano con 'i' o 's' Potrebbe anche essere una variante del Hungarian Notation
non solo in java, ho visto convenzione analoga a cocos2d + box2d esempi in cui alcune variabili iniziano con m_, ma altre no, molto confuse.
b2World* world;
GLESDebugDraw *m_debugDraw;
Immagino di differenziare le variabili box2d C++ dalle variabili Obj-C.
Vedere Code Style Guidelines for Contributors: Follow Field Naming Conventions. L'uso del prefisso "m" è più specifico che indica semplicemente una variabile "membro": è per "nomi di campi non pubblici e non statici".
Ottimo collegamento, non solo per i prefissi. –
Questo link si riferisce all'applicazione di scrittura? o semplicemente per aprire il progetto Android? – David
Viene visualizzato un errore "Autorizzazioni insufficienti" quando si tenta di aprire quella pagina. Forse qualcuno può postare alcuni dei suoi contenuti? – Cosmin
Mi capita di incontrare di tanto in tanto questa convenzione e devo ammettere che è piuttosto inutile. L'impilatore menziona la notazione ungherese ... questa è la mia preferenza.
private string sName;
public string Name
{
get { return sName; }
set { sName = value; }
}
In questo modo mostra il tipo e la sua differenziata dal nome del metodo.
Joel Spolsky [è il caso] (http://www.joelonsoftware.com/articles/Wrong.html) che questo tipo di notazione ungherese non è solo male, non è stato nemmeno l'intento originale dell'inventore. –
Il m è qui per indicare una variabile ember m.
Dispone di 2 vantaggi enormi:
- Se lo vedi, si riconosceranno immediatamente come una variabile membro.
- Premere m per ottenere tutti i membri tramite il completamento automatico. (Questo non è nelle altre risposte)
Più 1 per il suggerimento di completamento automatico! – AdamJeffers
C'è già qualcosa per quello integrato in Java - si chiama così ;-) –
According to Android source code documentation:
, nomi- non pubblici dei campi non statici iniziano con m.
- I nomi dei campi statici iniziano con s.
- Altri campi iniziano con una lettera minuscola.
- I campi finali statici pubblici (costanti) sono ALL_CAPS_WITH_UNDERSCORES.
Si noti che questo è per la scrittura di codice sorgente Android. Per creare app Android, lo Google Java Style Guide potrebbe essere più utile.
Puoi fornire un URL per questa documentazione di Google? Grazie! –
Questo è il modo più pertinente – pandalion98
http://source.android.com/source/code-style.html#follow-field-naming-conventions –
http://stackoverflow.com/a/7072899/342095 – SMUsamaShah
Ciao!Questo non è più usato, è una cattiva denominazione delle variabili! Si chiama Notazione ungherese. Questa vita alla perfezione nella piattaforma all'interno di AOSP ha aderito allo stile AOSP. Android Studio e IntelliJ IDEA distinguono visivamente i nomi dei campi in base all'appartenenza (istanza o statica). Gli IDE impongono l'appartenenza, la visibilità e i tipi corretti per impostazione predefinita in modo che una convenzione di denominazione non aggiunga nulla qui. Saluti! – mavesonzini