Советы по именованию вещей - PullRequest
0 голосов
/ 28 октября 2011

У меня есть список, и я пытаюсь решить, назвать ли его item или items. Если я назову это items, ясно, что foo(items) передается список элементов, а не один элемент. С другой стороны, я бы предпочел написать item[i] для обозначения конкретного элемента вместо items[i] (потому что я бы сказал «принеси мне предмет 7», а не «принеси мне предметы 7»).

У меня также есть функция, и я пытаюсь решить, вызывать ли ее value или get_value. Если я назову это value, я могу написать хорошие выражения, такие как value_squared = value() ^ 2 (что, я думаю, лучше, чем value_squared = get_value() ^ 2), но я могу столкнуться с проблемами при написании таких вещей, как value = value(), тогда как value = get_value() не будет проблематичным .

(Я знаю, что на этот вопрос нет правильного ответа, и что это два вопроса. Я открыт для предложений, которые я могу отредактировать / удалить / переместить / разделить и т. Д., Так как я не совсем уверен, что Правильнее всего поступить так: мне бы хотелось увидеть некоторые ответы, поскольку я хотел бы написать код так, чтобы другие могли легко его понять.)

Ответы [ 3 ]

3 голосов
/ 28 октября 2011

вызов списка («контейнер») «предметов». Назовите каждый элемент в списке "item":)

"items [i]" идеально подходит.

Так и есть:

  foreach (ListItem item in items) {
    ...
1 голос
/ 17 декабря 2011

Мне нравятся множественные имена для списков и префикс get для функций.Я думаю, сразу зная, что они списки и функции перевешивают негативы.

1 голос
/ 28 октября 2011

Это всегда о предпочтениях, делать то, что вы или если вы в команде - то, что делает команда.

Речь идет о магазине, в котором вы работаете, а не о том, правы вы или нет. Кроме того, это просто имя.

В моем случае я не люблю добавлять "s"'s к чему-либо. Например, если я проектирую систему баз данных проблем с соответствующими комментариями, я называю свою таблицу проблем Issue, потому что один кортеж (или строка) представляет одну проблему. То же самое для моей таблицы комментариев. В итоге я назвал ее Comment. Мне все равно, что сумма всех строк представляет «Проблемы», для меня таблица представляет одну сущность. Но опять же, это личное предпочтение.

Вы также упомянули это:

On the other hand, I would prefer to write item[i] to refer to a particular element instead of items[i] (because I would say "bring me item 7", not "bring me items 7").

Но если ваш список называется items, то, если вы сделали items[i], не составит труда увидеть, что вы ссылаетесь на один элемент в списке. Для меня это очень читабельно.

Что касается вашего второго пункта, то это действительно зависит, вы действительно хотите использовать ценность? В некоторых языках это может быть зарезервированное слово. Если функция возвращает значение, почему бы не getValue()? Я не вижу в этом никакого вреда. Просто будьте последовательны со всем вашим проектом, это принесет пользу вам и другим, кто смотрит на ваш код.

...