Dichiarazione di un nome di campo che inizia con underscore [duplicate]

0

Prima di formare una classe in Java o altri linguaggi di programmazione che supportano OOP, dovrei usare il carattere di sottolineatura (_) in ciascuna dichiarazione di campo ( locale o privata ).

Più precisamente:

private String _customername;

Questa è una dichiarazione corretta?

    
posta Hakan 04.02.2014 - 09:54
fonte

3 risposte

5

C'è una strong convenzione nelle cerchie java di non usando _ per i nomi dei membri (al contrario delle cerchie di C ++, dove c'è una strong convenzione per che li usa ). Questa è in gran parte una differenza arbitraria che probabilmente ha più a che fare con il desiderio di rafforzare un senso di comunità che con vantaggi misurabili. Di solito è una buona idea seguire una convenzione semplicemente perché rimuove una barriera affinché altre persone capiscano rapidamente il tuo codice.

Tuttavia, la necessità di marcare le variabili membro è discutibile. Dal mio punto di vista, se i tuoi metodi sono così lunghi che un lettore ha difficoltà a raccontare le vars locali dai membri vars, allora sono troppo lunghi per cominciare, e dovresti rifattorizzarli per essere più piccoli e più indipendenti piuttosto che disambigui tramite convenzioni di denominazione .

    
risposta data 04.02.2014 - 10:14
fonte
3

Penso che sia una questione di preferenze personali. Uso i caratteri di sottolineatura nei campi privati perché ritengo sia più facile leggere e identificare rapidamente l'ambito dei campi. Per quanto ne so, non ci sono regole che definiscano quale stile dovresti usare.

Nota: sviluppo in C # principalmente.

    
risposta data 04.02.2014 - 09:58
fonte
0

Nelle lingue con proprietà a livello di lingua (haxe, actionscript, ..) talvolta viene utilizzato un trattino basso quando si nomina una variabile privata accessibile anche tramite una proprietà. Il punto qui è evitare una collisione di nome tra la proprietà e il valore privato.

private var _width:Number;

public function get width():Number
{
    return _width;
}
    
risposta data 04.02.2014 - 16:59
fonte

Leggi altre domande sui tag