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 –
- 1. Perché molte classi Android (esempi e sorgenti) iniziano con "m"?
- 2. Ottenere i nomi delle variabili con JavaScript
- 3. Perché GitHub suggerisce "prefisso i nomi delle versioni con la lettera v?"
- 4. Perché i nomi delle tabelle in SQL Server iniziano con "dbo"?
- 5. Evitare di sovrascrivere i nomi delle variabili
- 6. Cambiare i nomi delle variabili con Python per cicli
- 7. Perché le variabili PHP iniziano con un simbolo $?
- 8. Perché i namespace XML di solito iniziano con http: // ...?
- 9. Usi articoli nei nomi delle variabili?
- 10. Perché prefisso i nomi delle funzioni sql?
- 11. Uglify-js non altera i nomi delle variabili
- 12. È possibile riutilizzare i nomi delle variabili con l'uso dello spazio dei nomi?
- 13. IntelliJ sostituisce i nomi delle variabili su più righe
- 14. I commenti .net iniziano con una lettera maiuscola e terminano con un punto?
- 15. Correggere i nomi delle strade con regex
- 16. Come ottenere i nomi delle variabili nominate dalla stringa python
- 17. Symfony2 - Come accedere i nomi delle variabili dinamiche in ramoscello
- 18. java: richiama tutti i nomi delle variabili in una classe
- 19. Perché mettere underscore "_" prima i nomi delle variabili in Objective C
- 20. Ignora file con nomi che iniziano con 'output'
- 21. Perché i nomi di miniKanren terminano sempre con `o`?
- 22. Perché i callback JSONP di Facebook iniziano con "/ ** /"
- 23. Perché le variabili in Erlang sono progettate per iniziare con la lettera maiuscola?
- 24. Manipolare le variabili membro C++ che iniziano con $ in GDB
- 25. Perché reagire rimuovendo i nomi delle mie classi?
- 26. Perché Visual Studio non risolve i nomi delle classi CSS?
- 27. Invio lettera 'i' con SendKeys
- 28. R- Perché gli X vengono aggiunti ai nomi delle variabili nel mio frame di dati?
- 29. Perché i nomi vengono restituiti con @ in JSON utilizzando Jersey
- 30. Nomi a 1 lettera per variabili e funzioni in jQuery, JavaScript
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