Qual è il nome idiomatico per una variabile usa e getta? [chiuso]


11

La direttiva set di Velocity Template Language richiede una variabile sul lato sinistro. Questo non funziona

#set ( $entries.add("d") )

Anche se non ho alcuna utilità per il valore restituito di add("d"), devo assegnarlo a una variabile.

#set ( $x = $entries.add("d") ) 

Voglio comunicare che la variabile è necessaria, ma non ho intenzione di usarla in seguito. Esiste una convenzione per la denominazione delle variabili che esiste solo per placare il compilatore?


2
che ne dici di usare solo un commento
Gratzy

foo? [15 caratteri]
Konrad Morawski,

6
Lo chiamerei odore di codice.
Joel Etherton,

Ciao Patrick, qui le domande di denominazione variabile sono fuori tema: per ulteriori informazioni, consulta Le domande sul "nome di quella cosa" sono in tema?

1
@Mark Ok, grazie. FWIW, penso che questa domanda sia più rivolta al "termine appropriato per un concetto" che a "suggerimenti di denominazione per una classe o un metodo". Sto cercando un nome idiomatico che sarebbe usato in varie lingue e codebase, non un nome specifico per una singola variabile.
Patrick McElhaney,

Risposte:


26

Io tendo ad usare dummyper questo tipo di situazione (una variabile che io devo avere anche se non c'è bisogno di usare).


Uso sempre ignorato. Avrei aggiunto la mia risposta, ma non potevo pensare a nient'altro da dire al riguardo.
John Buchanan,

2
Oltre al manichino, uso anche _ (alcune lingue lo accettano), dump, junk, bhole (dal buco nero), inutile e alcuni altri nomi che non ricordo in questo momento.
PEdroArthur,

+1 perché dopo molte ricerche, ho scoperto che, per impostazione predefinita, pylint ignora una variabile inutilizzata denominata "_" o "fittizia". logilab.org/card/pylintfeatures#id9
Patrick McElhaney l'

E mentre cercavo qualcos'altro, ho trovato una menzione di $ dummy specificamente in Velocity .
Patrick McElhaney,

16

Dovresti controllare e vedere se la tua lingua ha un nome specifico per questo uso - Python ha _che dovresti usare per le variabili che intendi eliminare.


10
Si noti che _è il nome tradizionale per questo tipo di variabile nelle lingue che forniscono la corrispondenza del modello (ML, Haskell, scala, ecc.)
Barjak,

@barjak Buono a sapersi - Non ho mai usato nessuna di quelle lingue, pensavo fosse una cosa Python
Izkata,

12

manichino , temp , spazzatura , buco nero , immondizia ... nessuno di questi mi dice che non li userò per niente.

Se lo uso per qualcosa, rinominerò sempre la variabile.


1
+1 per rinominarlo se lo usi in un secondo momento.
Spencer Rathbun l'

Grazie, ma questo non risponde alla domanda. Posso pensare a molti nomi che dicono "questo non è importante". Sto cercando un unico nome standard.
Patrick McElhaney,

Fatta eccezione per alcune lingue più recenti, la maggior parte di esse non ha tale. Tale standard non esiste, se non consideri "standard" quelli che hanno ottenuto il maggior numero di voti qui.
Rook

3

Hai già molte buone risposte, tuttavia ho pensato di lanciarne una più direttamente correlata alla velocità.

Che cosa restituisce il metodo add? Se è nullo, puoi semplicemente dire alla velocità di fare riferimento in modo silenzioso:

$!entries.add("d")

Tuttavia, se stai sostituendo un valore e restituisce il vecchio valore (come fa Map.put), allora dovresti impostarlo su una variabile fittizia di qualche tipo, se si tratta di un metodo vuoto, non dovresti aver bisogno del variabile a tutti.

Se sei irremovibile di non utilizzare una nuova variabile, puoi fare quanto segue:

#if($entries.add("d")) #end

Se lo usi abbastanza spesso, creerei una macro per esso, quindi la utilizzerei in tutti i tuoi modelli. Non vedo quanto possa essere utile, ma almeno dovresti commentarlo solo una volta ...


Brillante! In truequesto caso il metodo ritorna ($ entry è una ArrayList), ma amico, vorrei che funzionasse.
Patrick McElhaney l'

Avevo paura che in effetti stavi facendo riferimento a un elenco. Ho modificato la risposta per indicare un modo in cui potresti non usare una variabile fittizia, ma non sono così sicuro che la userei ...
Scott

2

Gli darei un nome ragionevole e aggiungerei un commento spiegando che lo stai assegnando solo per placare il compilatore. Ho visto casi in cui qualcuno ha usato un nome di variabile come unusede un altro sviluppatore ha successivamente usato quella variabile con quel nome e ha fatto un brutto pasticcio del codice.


Mi piace anche inutilizzato . L'unico problema che ho con esso è il fatto che lo sto usando nel momento in cui lo scrivo: /
Rook
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.