2009-12-14 7 views
21

Ho visto alcuni programmatori che usano _ (trattino basso) davanti ai nomi di classe e altri che lo usano per le variabili locali.Esiste uno standard in java per _ (trattino basso) davanti a nomi di variabili o classi?

Lo standard Java richiede/suggerisce l'uso di _ (carattere di sottolineatura) davanti a una variabile di istanza privata o nome di classe?

+8

Non sono d'accordo con la chiusura - Java è una delle lingue con uno stile ufficiale definito, quindi una domanda relativa al fatto che lo standard risolva un punto sembra ragionevole. –

risposta

25

È una questione di gusto personale.

Martin Fowler sembra piacere. Non mi interessa molto - rompe il modello di lettura, e le informazioni che trasmette sono già sottilmente raccontate dal colore nel tuo IDE.

Ho sperimentato l'utilizzo di _ come nome della variabile che contiene il risultato da restituire con un metodo. È molto conciso, ma ho finito col pensare che il nome result sia migliore.

Quindi, fai in modo che i tuoi colleghi siano d'accordo su ciò che ti piace di più e poi fallo.

+0

Il nome della variabile costituita da un singolo trattino può essere fatta non valida in una futura versione di Java (che ho letto da qualche parte) –

+0

accadrà in Java 9. informazioni –

+0

Sfondo sui simboli singoli sottolineatura può essere trovato in [PEC 302] (http : //openjdk.java.net/jeps/302). –

17

se si vuole seguire le migliori prassi java, utilizzare il codice convenzione delineato qui http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

cioè nessuna sottolineatura per i nomi di variabile membro privata.

Tho, personalmente, non mi sono preoccupato in entrambi i casi, purché sia ​​applicata la coerenza.

6

Molte persone (incluso me stesso) usano _ davanti ai nomi dei campi. La ragione di ciò è di distinguerli facilmente dalle variabili locali. Tuttavia, nell'era degli IDE, questo non è necessario poiché l'evidenziazione della sintassi lo mostra. Usare un carattere di sottolineatura davanti al nome di una classe è semplicemente sbagliato. Per convenzione, i nomi delle classi iniziano con una lettera maiuscola.

+0

Ci sono occasioni per usare _ davanti al nome di una classe, quando sei preoccupato che il nome della tua classe possa scontrarsi con un altro nome di classe e vuoi distinguere la tua classe dagli altri. Per esempio le classi puramente interne spesso utilizzano questa convenzione di tenere le cose come Record, dati, ecc, che sono nomi di classi comuni, così invece scelgono _Record, _data, ecc – GrayWizardx

+0

Ahh, giusto, penso che vorrei mettere la sottolineatura alla fine però . Ma è una questione di gusti, suppongo. –

+3

+1 per il "nelle epoche IDE" + "l'evidenziazione della sintassi" – pimpf0r

3

Un sacco di gente è per esempio variabili in quanto li fa risaltare. Personalmente lo odio soprattutto perché i metodi dovrebbero, per la maggior parte, essere non più di 10 righe di codice (non ne ho quasi mai più di 20). Se non riesci a vedere che una variabile non è locale in meno di 10 righe, c'è qualcosa di sbagliato :-)

Se hai 100 metodi di linea e non dichiari tutte le tue variabili nella parte superiore del blocco, Sono abituato a vedere perché dovresti usare _ per distinguerli ... ovviamente, come con la maggior parte delle cose, se fa male allora smetti di farlo!

35

Penso che gli artefatti come questi siano pre-IDE e C++ vintage. Non farlo

+0

Non riesco a immaginare perché questa risposta, e solo questa risposta, sia stata votata cinque anni dopo. – duffymo

+0

Ho appena votato per la correzione della giustizia. Edit: io non sono il tipo che ha votato giù –

+0

e perché la vostra risposta è la più utile per me, io votare fino – amal50

0

Sono d'accordo con gli altri qui ... Rompe lo standard e non ti compra davvero nulla se usi solo uno standard di denominazione. Se è necessario conoscere la differenza tra la classe e le variabili locali, provare una convenzione di denominazione come lVariableName dove viene utilizzato l per indicare che è locale. Per me questo non è necessario poiché l'evidenziazione IDE è sufficiente, ma potrebbe essere utile per alcuni.

1

Utilizzare _ prima di una variabile aiuta in un caso in cui se lo sviluppatore desidera utilizzare una parola chiave/standard come nome di variabile consapevolmente o inconsapevolmente. Non darebbe un conflitto se questo ha un carattere aggiuntivo.

1

Sembra che sia una convenzione che indica se un trattino basso viene utilizzato come carattere iniziale nel nome del metodo, il metodo non può essere ignorato.

Ad esempio, nel contesto di JSP, il metodo _jspService() non può essere sovrascritto.

Tuttavia, io non trovare qualsiasi documento che afferma sopra convenzione.

+9

Se vuoi assicurarti che un metodo non sia sovrascritto devi renderlo 'final' – enrybo

0
  1. Non utilizzare _ quando si utilizza un moderno monitor LCD a colori, con IDE moderno come Eclipse, Netbeans, IntelliJ, Android Studio.
  2. Utilizzare _ quando è necessario utilizzare un monitor CRT monocromatico vecchio stile con solo testo verde o bianco o quando si ha difficoltà a identificare il colore sul monitor LCD.
  3. Il consenso dei suoi collaboratori codice sovrascrive il sopra.
Problemi correlati