Perché la maggior parte dei campi (membri della classe) nel tutorial Android iniziano con `m`?


Answers

Molte linee guida di codifica usano m per 'membri' di una classe. Quindi quando stai programmando puoi vedere la differenza tra variabili locali e membri.

Question

Conosco le regole del caso dei cammelli, ma sono confuso con questa regola. Cosa significa? Sono uno sviluppatore PHP. "Noi" usiamo le prime lettere di variabili come indicazione di tipo, come "b" per booleano, "i" per intero e così via.

È una cosa di Java? Sta per mobile? misto?




Se è membro delle variabili nelle classi, la 'm' significa 'membro'. Molti programmatori Java lo fanno, anche se con IDE moderni non è necessario dal momento che hai evidenziato, mouse sulle descrizioni dei comandi, ecc.




Penso che sia molto individuale utilizzare le convenzioni del codice. Preferisco nominare le mie variabili con i seguenti prefissi:

  • m - Variabili del metodo
  • c - Variabili di classe
  • p - Parametro variabili

Ma immagino che ogni programmatore abbia il proprio stile.




Sembra che sia stata una preferenza personale di alcuni dei primi ingegneri Android / Google iniziare le variabili membro con "m" e così l'hanno consigliato.

Ora questa regola viene forzata a squarciagola dagli sviluppatori di aziende che non sono né contributori AOSP, semplicemente perché quella pagina è considerata come le regole di stile del codice di Android. C'è poco o nessun beneficio in quella regola. Google dovrebbe prendere in considerazione la rimozione. Altrimenti, si prega di specificare che per le app Android quali delle Code Style Rules sono opzionali.

Aggiungi il tuo commento di supporto a questa petizione per rimuovere la regola https://code.google.com/p/android/issues/detail?id=226814




Si può anche affermare che sta per "mio", come in Class / Instance sta dicendo "Questa variabile è mia e nessun altro può arrivarci". Diverso da statico che, mentre potrebbe essere disponibile solo per la classe, è condiviso da tutte le istanze di quella classe. Come se tu stessi disegnando cerchi, avresti bisogno di sapere quanto è grande il raggio di ogni cerchio

    private double mRadius;

ma allo stesso tempo vuoi che un contatore tenga traccia di tutti i cerchi, all'interno della classe del cerchio che potresti avere

    private static int sCircleCount;

e poi hai solo membri statici per aumentare e diminuire il conteggio delle cerchie che hai attualmente.