Соглашения об именах для переменных "число foos"
Предположим, что мне нужно сохранить количество объектов foo в переменной.
Не будучи носителем английского языка, я всегда задаюсь вопросом, какое лучшее (= короткое и сразу понятное) имя для этого var.
foo_num
? num_foo
? no_foo
? foo_no
? или что-то еще?
Полное имя должно быть number_of_foos
, но оно немного подробное.
Какой ваш любимый и почему?
Ответы
Ответ 1
Я иду на fooCount, потому что это просто, и я думаю, что слово "count" является самым коротким и лучшим, что описывает его, а не "число" или тому подобное.
Я иду за FOO_COUNT, если вам нужно сохранить его окончательным и статическим (если вам не нужно его изменять/если оно является константой). (все шапки для констант!)
Я перехожу на счет и вызываю его с помощью Foo.count, если вам действительно нужно сохранить его как атрибут для класса, который вы создали, это Foo.
читаемость для вас и вашей команды!
Ответ 2
Поскольку переменная хранит счетчик числа объектов foo, fooCount
получает мой голос.
Ответ 3
На английском языке слова "число" и "счет" могут действовать как существительные или глаголы, но, вероятно, более распространено видеть "число" , используемое как существительное, и "считать" в качестве глагола. Поэтому вы можете утверждать, что "число foos" или "num_foo" звучит более знакомо, чем "подсчет foo" или "foo_count". Это, безусловно, звучит более естественно для меня, когда ссылается на количество, которое не меняется постоянно. Слово "счет", даже если оно используется как существительное, предлагает мне значение, которое растет со временем.
В Ruby и Python есть методы .count, которые демонстрируют, что слово используется как глагол, а не существительное. В Ruby вы можете сказать:
foos.count # Count how many elements in the array 'foos'
Тем не менее, это возвращает значение, представляющее число foos, и это именно то, что вы могли бы ожидать, если бы вы просто указали переменную с именем foo_count. Таким образом, в некотором смысле, тот факт, что "foos.count" и "foo_count" выглядят одинаково, выглядит приятным.
"Число" может быть неоднозначным в некоторых случаях, поскольку он является общим для хранения чисел, которые не представляют собой количество чего-то. Другие люди уже упоминали идентификаторы и номера кредитных карт. Вот еще один пример:
num_string
Глядя на это имя переменной, вы можете угадать, что она представляет? Является ли это целым числом, представляющим количество строк, или это строковое представление числа?
Итак, я просто задумываюсь вслух и даю некоторые плюсы и минусы для каждого, как я их вижу. Причина, по которой я даже на этой старой странице, состоит в том, что я обнаруживаю, что я использую эти два непоследовательно, и думал, что посмотрю, что делают другие люди.
Кстати, мне не нравится "nr_foo", поскольку "nr" действительно не предлагает или не звучит как слово "число" для меня вообще. Это звучит как "ner", или, возможно, означает "не оцененный" или "национальный регби".:-) И я даже не рискну сказать, что такое fooCnt. Просто нет.
Ответ 4
fooCount
, если переменная не является константой, FOO_COUNT
, если она есть.: D
Ответ 5
Ядро Linux использует "nr_foo", что лучше, чем "no_foo" (это похоже на отрицание). Я сам склонен использовать "fooCount" или "fooCnt", но также иногда "numFoo". Я не уверен, почему я колеблюсь между "fooCount" и "numFoo". Думаю, это зависит от моего настроения. Но вы, вы должны быть последовательными (как и я);)
Ответ 6
В основном fooCount
, как все говорили. Иногда более целесообразно использовать foos
, обычно, когда у вас фактически нет списка foos, или они не являются отдельными объектами (например, seconds
, для пиццы вы можете иметь slices
и т.д.),
Используйте foos
только тогда, когда нет никаких шансов на замешательство, - когда очевидно, что в этом контексте у вас никогда не будет списка foos.
Ответ 7
Я бы пошел за fooCount
Ответ 8
Я имею тенденцию использовать fooCount или подобное.
Ответ 9
Я лично пошел бы за total_foos
или totalFoos
в зависимости от стандартного языка. Он лучше показывает, что значение является итоговой суммой, а не просто счетчиком.
Также имеет смысл сказать "у меня есть 3 общих foos", а не "у меня есть 3 счета foos".
В целом, это не огромная сделка, но я всегда использую total
над count
!
Ответ 10
Я использую для количества somethings: somethingCount (something_count)
Я использую для порядкового номера somethings: somethingIndex (something_index), потому что слово "number" неоднозначно (это означает количество и порядковый номер)