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


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
— Патрик МакЭлхани


16

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


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и другой разработчик впоследствии использовал эту переменную под этим именем и сделал ужасный беспорядок в коде.


Мне тоже нравится неиспользованный . Единственная проблема, с которой я столкнулся, это то, что я использую ее в тот момент, когда пишу: /
— Ладья
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.