Die Set-Direktive von Velocity Template Language erfordert eine Variable auf der linken Seite. Das funktioniert nicht.
#set ( $entries.add("d") )
Obwohl ich den Rückgabewert von nicht verwenden kann add("d")
, muss ich ihn einer Variablen zuweisen.
#set ( $x = $entries.add("d") )
Ich möchte mitteilen, dass die Variable notwendig ist, habe aber nicht die Absicht, sie später zu verwenden. Gibt es eine Konvention zum Benennen von Variablen, die nur existieren, um den Compiler zu beschwichtigen?
foo
? [15 Zeichen]Antworten:
Ich neige dazu,
dummy
für diese Art von Situation zu verwenden (eine Variable, die ich haben muss , obwohl ich sie nicht verwenden muss).quelle
Sie sollten überprüfen, ob Ihre Sprache einen Namen speziell für diese Verwendung hat - Python hat diesen Namen
_
, den Sie für Variablen verwenden sollten, die Sie wegwerfen möchten.quelle
_
der traditionelle Name für diese Art von Variablen in Sprachen ist, die Mustervergleich bieten (ML, Haskell, Scala usw.)Dummy , Temp , Trash , Black_hole , Müll ... einer von diesen sagt mir, dass ich sie für nichts verwenden werde.
Wenn ich if für etwas verwende, benenne ich die Variable trotzdem immer um.
quelle
Sie haben bereits viele gute Antworten, aber ich dachte, ich würde eine werfen, die direkter mit der Geschwindigkeit zusammenhängt.
Was gibt die add-Methode zurück? Wenn es null ist, können Sie die Geschwindigkeit einfach anweisen, leise darauf zu verweisen:
Wenn Sie jedoch einen Wert ersetzen und der alte Wert zurückgegeben wird (wie dies bei Map.put der Fall ist), müssen Sie ihn auf eine Dummy-Variable setzen. Wenn es sich um eine void-Methode handelt, sollten Sie den Wert nicht benötigen überhaupt variabel.
Wenn Sie darauf bestehen, keine neue Variable zu verwenden, können Sie Folgendes tun:
Wenn Sie es oft genug verwenden, würde ich ein Makro dafür erstellen und es dann in Ihren Vorlagen verwenden. Ich sehe zwar nicht ein, wie nützlich das sein könnte, aber zumindest müssten Sie es nur einmal kommentieren ...
quelle
true
in diesem Fall zurück ($ entry ist eine ArrayList), aber Mann, ich wünschte, das hätte funktioniert.Ich würde ihm einen vernünftigen Namen geben und einen Kommentar hinzufügen, der erklärt, dass Sie ihn nur zuweisen, um den Compiler zu beschwichtigen. Ich habe Fälle gesehen, in denen jemand einen Variablennamen wie verwendet hat
unused
und ein anderer Entwickler diese Variable anschließend mit diesem Namen verwendet und den Code hässlich durcheinander gebracht hat.quelle