Quando si dichiara una matrice in Java, qual è la posizione convenzionale per le parentesi quadre?

3

Ho visto due metodi per dichiarare un array, come la porzione String[] args del metodo principale:

public static void main(String args[]){

o

public static void main(String[] args){

Il libro di testo che sto usando lo ha scritto nel primo modo che ho descritto. Tuttavia, mi sento più a mio agio a scriverlo nel modo seguente.

C'è una raccomandazione o uno standard convenzionale nel linguaggio Java per dove posizionare le parentesi quadre o è solo una preferenza personale dello sviluppatore che sta scrivendo o revisionando il codice?

    
posta xyz 18.09.2016 - 16:32
fonte

3 risposte

7

In breve: le guide di stile a cui ho facile accesso per supportare public static void main(String[] args) come metodo preferito. Tuttavia, la lingua non distingue tra queste due opzioni.

Dal punto di vista della lingua, entrambi sono ugualmente validi. La sezione 10.2 Variabili della matrice delle specifiche della lingua Java consente entrambe. In effetti, alcuni degli esempi vanno addirittura oltre. La documentazione dice anche che il supporto per entrambi gli stili è "un cenno alla tradizione di C e C ++".

Da una prospettiva standard, le Convenzioni del codice Oracle (che sono state aggiornate l'ultima volta il 20 aprile 1999) e la Guida allo stile di Java di Google. Anche se non sono riuscito a trovarlo nel testo delle convenzioni Oracle, puoi vederne un esempio in Sezione 11 - Esempi di codice delle convenzioni sui codici Oracle. La Guida allo stile di Google Java è più chiara: Sezione 4.8.3.2 Nessuna dichiarazione di array in stile C afferma che "le parentesi quadre formano una parte del tipo, non la variabile". Tuttavia, questi sono solo due esempi: se hai guardato abbastanza attentamente, potresti trovare una guida di stile in cui si afferma che le parentesi quadre dovrebbero essere sulla variabile e non sul tipo.

Poiché la lingua non interessa, quale dovresti usare? La cosa più importante è la coerenza. Se stai lavorando su qualcosa da soli, sii coerente con il codice già scritto. Questo renderà più facile per te e gli altri capire mentre leggi il codice in futuro. Se lavori in una squadra, segui la guida di stile del team. Se il codice non è coerente in tutto il progetto, rendilo coerente come puoi attraverso una classe o un modulo.

    
risposta data 18.09.2016 - 19:04
fonte
1

Non conosco i libri, ma se vado dalla documentazione Oracle , accenna che non c'è differenza tra il tipo di dichiarazioni!

Il compilatore è soddisfatto di entrambi!

    
risposta data 18.09.2016 - 18:20
fonte
0

Poiché questa domanda riguarda davvero come dichiarare una variabile di matrice, risponderò come tale. In entrambi i casi va bene, in termini di sintassi, ma preferisco dichiarare un array come questo:

String[] args

Questo rende chiaro che la variabile "args" è di tipo "String []".

L'uso dell'altro metodo non ha alcun senso logico per me ...

String args[]

Per me, si legge che stai dichiarando una variabile chiamata "args []" ed è di tipo "String", che non è corretto. Stai ancora dichiarando una variabile chiamata "args" che è di tipo "String []".

    
risposta data 19.09.2016 - 01:51
fonte

Leggi altre domande sui tag