Perché i programmatori Android utilizzano la notazione ungherese? [duplicare]

3

Vedo notazione ungherese in quasi tutto il codice Android che vedo. È usato nel codice sorgente, negli esempi, nel codice di altri programmatori che riesco a vedere, nel codice mostrato dai presentatori alle conferenze Android. Utilizzano mContext anziché context , mTextView anziché solo textView . La notazione ungherese è inutile in Java, specialmente quando si usa un IDE che usa colori e caratteri tipografici per indicare i campi locali e membri. Joel Spolski ha scritto un articolo eccellente che supporta questa visione. La notazione ungherese rende il tuo codice disordinato.

Quindi la mia domanda è: nonostante il fatto che non vi sia alcun vantaggio nella notazione ungherese in Java, perché molti programmatori Android lo usano?

modifica: documentazione per sviluppatori Android utilizzata per consigliarti di farlo. Quindi la mia domanda ha due parti: perché Google dovrebbe consigliarci di usare la notazione m e, in caso affermativo, perché le persone seguono questo consiglio anche quando nessuno spiega perché dovresti?

    
posta Christine 13.11.2015 - 15:02
fonte

1 risposta

10

Il codebase Android utilizza una notazione altamente modificata che non è strettamente "ungherese".

Questa notazione è strongmente influenzata dall'intero codice di Google, in tutte le lingue, quasi tutte contenenti notazioni in stile ungherese specifiche del dominio. Le recensioni di codice su Google richiedono praticamente questo 1 e c'è un effetto a catena sulle codebase pubbliche.

why would Google advise us to use the m notation

Perché questo è il loro standard di codifica. Quando hai codebase di grandi dimensioni su molte API condivise letteralmente da migliaia di codificatori, hai bisogno di standard. Google ha deciso che la marcatura del codice in questo modo porta a un codice di manutenzione migliore e più semplice.

Non tutti sono d'accordo, ma ogni negozio ha le sue regole che devi seguire. Come qualcuno ha commentato prima, spesso non lo si vede nei negozi Java. Tuttavia, lo vedi sicuramente in Java su Google.

Per quanto riguarda il motivo per cui annotare il tuo codice in questo modo, ci sono molti link nei commenti. Ma, alla fine della giornata, si tratta di manutenibilità del codice (e la leggibilità è una parte importante di questo) e uno sforzo per mantenere i bug da insinuarsi quando il codice è cambiato.

why do people follow that advice even when no-one explains why you should?

Bene, i progetti open source non sono uniformi nel modo in cui introducono nuove persone ai loro processi e flussi di lavoro. Se lavorassi su Google, riceverai un mentore che ti farebbe ombra e controllerà tutto il tuo codice prima dell'accettazione, e questo processo ti introdurrebbe a tutte le cose che dovresti fare come programmatore. Questo include i seguenti standard di codifica. Se dovessi chiederti perché, potresti chiedere ai tuoi colleghi di lavoro.

Le librerie e le API pubbliche e open source sono gestite in modo diverso e hanno anche un modo diverso di introdurvi alle loro pratiche di codifica specifiche. In questo caso, la mia ipotesi è che il push del codice che non segue uno standard richiesto dalla "community" farebbe sì che il push venisse annotato e ribaltato a voi per un ulteriore grooming. Quindi, dovresti imparare.

1 Citation: io e le chat che ho avuto con colleghi che lavorano per Google

    
risposta data 13.11.2015 - 15:12
fonte

Leggi altre domande sui tag