Quali sono i vantaggi del prefisso dei nomi dei parametri di funzione con p *?

20

Spesso vedo progetti (in progetti e team Java che usano Eclipse) che prefissano i parametri di funzione con p .

Ad esempio

public void filter (Result pResult) ...

Personalmente non vedo alcun beneficio in questo, ma vorrei sapere qual è il ragionamento. La migliore spiegazione che ho ancora sentito è che è per distinguere il nome di campi identici chiamati. Ho i miei problemi con quella spiegazione, ma posso capire il punto.

    
posta oschrenk 17.08.2012 - 14:08
fonte

5 risposte

28

Le pratiche per aggiungere prefissi significativi ai simboli, come la ben nota Notazione ungherese , risalgono ai tempi in cui gli IDE non esistevano o erano troppo primitivi. Oggi, trovando un punto di dichiarazione è un clic del mouse, non ha senso rovinare la parte più preziosa del nome, le sue prime lettere, assegnando un prefisso comune.

    
risposta data 17.08.2012 - 14:13
fonte
8

Come sospetti, è per evitare conflitti di nomi tra il nome del parametro e il nome di un membro o di una variabile locale. Alle variabili membro viene talvolta assegnato un prefisso per lo stesso motivo (ad esempio m_result ). Personalmente, preferisco usare solo il prefisso this per le variabili membro se c'è una collisione di nomi. È integrato nella lingua e tutti sanno già cosa significa.

    
risposta data 17.08.2012 - 14:58
fonte
4

Uso solo un prefisso di parametro quando il parametro è destinato ad essere assegnato a una variabile membro, come un costruttore o un setter.

Paint (newColor) {
  color = newColor;
}

Per me, trovo che usare un nome di variabile diverso sia più ovvio che usare il prefisso "this".

Per altre situazioni, evito di usare un parametro che potrebbe essere facilmente confuso con una variabile membro.

Se un metodo o una classe è così grande che è difficile dire cosa significano le variabili, la vera soluzione è scomporla in metodi / classi più piccoli. L'uso dei prefissi è una soluzione a banda larga che risolve il problema sottostante.

    
risposta data 17.08.2012 - 16:25
fonte
1

Se crei uno standard per utilizzare "p" come prefisso con ciascun nome di parametro del metodo, puoi facilmente riconoscere i parametri del metodo nel resto del corpo del metodo.

Risparmia tempo per trovare i parametri del metodo. Puoi eseguire il debug del tuo codice facilmente.

    
risposta data 17.08.2012 - 20:00
fonte
0

Sono un fan di iParam for in, e oParam for out parameters. Direi cParam per il cambiamento, ma non è accettabile

    
risposta data 17.08.2012 - 16:56
fonte

Leggi altre domande sui tag