Какое идиоматическое имя для одноразовой переменной? [закрыто]

11

В директиве set языка шаблонов скорости указана переменная слева. Это не работает

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

Несмотря на то, что я не могу использовать возвращаемое значение add("d"), я должен присвоить его переменной.

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

Я хочу сообщить, что переменная необходима, но я не собираюсь использовать ее позже. Существует ли соглашение по именованию переменных, которые существуют только для того, чтобы успокоить компилятор?

Патрик МакЭлхани
источник
2
как насчет просто использовать комментарий
Gratzy
foo? [15 символов]
Конрад Моравский
6
Я бы назвал это запахом кода.
Джоэл Этертон
Привет, Патрик, вопросы именования переменных здесь не по теме: для получения дополнительной информации, ознакомьтесь с вопросом «Назовите эту вещь» по теме?
1
@ Марк Хорошо, спасибо. FWIW, я думаю, что этот вопрос больше склоняется к «правильному термину для концепции», чем к «предложению именования для класса или метода». Я ищу идиоматическое имя, которое будет использоваться в разных языках и кодовых базах, а не конкретное имя для одной переменной.
Патрик МакЭлхани

Ответы:

26

Я склонен использовать dummyдля такого рода ситуаций (переменная, которую я должен иметь, хотя мне не нужно использовать).

Одед
источник
Я всегда пользуюсь игнорируемым. Я бы добавил свой ответ, но не мог придумать, что еще сказать об этом.
Джон Бьюкенен
2
Кроме фиктивного, я также использую _ (некоторые языки принимают это), dump, мусор, bhole (из черной дыры), бесполезные и некоторые другие имена, которые я сейчас не помню.
PEdroArthur
+1, потому что после долгих поисков я обнаружил, что по умолчанию pylint игнорирует неиспользуемую переменную с именем «_» или «dummy». logilab.org/card/pylintfeatures#id9
Патрик МакЭлхани
И, ища что-то еще, нашел упоминание $ dummy специально в Velocity .
Патрик МакЭлхани
16

Вы должны проверить и посмотреть, есть ли у вашего языка имя специально для этого использования - в Python есть _то, что вы должны использовать для переменных, которые вы намереваетесь выбросить.

Izkata
источник
10
Обратите внимание, что _это традиционное имя для этого типа переменных в языках, которые обеспечивают сопоставление с образцом (ML, Haskell, scala и т. Д.)
barjak
@ barjak Полезно знать - я никогда не использовал ни один из этих языков, я думал, что это был язык Python
Izkata
12

пустышка , темп , мусор , черная дыра , мусор ... любой из них говорит мне, что я не буду использовать их ни для чего.

Если я использую if для чего-то, я всегда переименовываю переменную.

ладья
источник
1
+1 за переименование, если вы используете его позже.
Спенсер Рэтбун
Спасибо, но это не отвечает на вопрос. Я могу придумать множество имен, которые говорят «это не важно». Я ищу одно стандартное имя.
Патрик МакЭлхани
За исключением нескольких новых языков, большинство из них не имеют таких. Такого стандарта не существует, если вы не считаете тех, кто получил наибольшее количество голосов, здесь "стандартом".
Ладья
3

У вас уже есть много хороших ответов, но я решил бросить один, который более непосредственно связан со скоростью.

Что возвращает метод add? Если он нулевой, вы можете просто указать скорость, чтобы спокойно ссылаться на нее:

$!entries.add("d")

Однако, если вы заменяете значение и оно возвращает старое значение (как это делает Map.put), вам нужно будет установить его в качестве фиктивной переменной какого-либо рода, если это метод void, то вам не нужно переменная на всех.

Если вы не хотите использовать новую переменную, вы можете сделать следующее:

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

Если вы используете его достаточно часто, я бы создал для него макрос, а затем используйте его во всех шаблонах. Я не понимаю, насколько это может быть полезно, но, по крайней мере, вам нужно будет прокомментировать это только один раз ...

Скотт
источник
Brilliant! Метод возвращает trueв этом случае ($ records - это ArrayList), но человек, я бы хотел, чтобы это работало.
Патрик МакЭлхани
Я боялся, что вы на самом деле ссылаетесь на список. Я отредактировал ответ, чтобы обозначить способ, которым вы могли бы не использовать фиктивную переменную, но я не уверен, что буду ее использовать ...
Скотт
2

Я бы дал ему разумное имя и добавил бы комментарий, объясняющий, что вы назначаете его только для того, чтобы успокоить компилятор. Я видел случаи, когда кто-то использовал имя переменной, например, unusedи другой разработчик впоследствии использовал эту переменную под этим именем и сделал ужасный беспорядок в коде.

smp7d
источник
Мне тоже нравится неиспользованный . Единственная проблема, с которой я столкнулся, это то, что я использую ее в тот момент, когда пишу: /
Ладья