Предположим, мне нужно сохранить количество объектов foo в переменной.
Я не являюсь носителем английского языка, поэтому мне всегда интересно, какое имя лучше (= короткое и понятное) для этой переменной.
foo_num
? num_foo
? no_foo
? foo_no
? или что-то другое?
Имя должно быть полным number_of_foos
, но немного многословным.
Какой твой любимый и почему?
naming-conventions
Джакомо
источник
источник
number_of_foos
в нем быстро становятся громоздкими.Ответы:
Я выбираю,
fooCount
потому что это просто, и я думаю, что слово «подсчет» является самым коротким и лучшим, что описывает его, а не «количество» и т.п.Я выбираю,
FOO_COUNT
если вам нужно сохранить его окончательным и статическим (если вам не нужно его менять / если это константа). (все заглавные буквы для констант!)Я иду
count
и вызываю его,Foo.count
если вам действительно нужно сохранить его как атрибут для созданного вами класса, то естьFoo
.читабельность для вас и вашей команды!
источник
foosCount
, поскольку множественное число даже лучше представляет собой набор. И предполагается, что это будет набор вещей.gamesIncludedCount
, но для других имен, таких какgameCount
.Поскольку переменная хранит количество объектов foo,
fooCount
я получаю мой голос.источник
В английском языке слова «число» и «счет» могут действовать как существительные или глаголы, но, вероятно, чаще встречается слово «число» как существительное, а «счет» - как глагол. Таким образом, вы можете возразить, что «количество foos» или «num_foo» звучит более знакомо, чем «количество foo» или «foo_count». Для меня это определенно звучит более естественно, когда я говорю о величине, которая не меняется постоянно. Слово «счет», даже когда оно используется как существительное, предлагает мне значение, которое со временем растет.
В Ruby и Python есть методы .count, которые демонстрируют, что слово используется как глагол, а не как существительное. В Ruby можно сказать:
Тем не менее, это возвращает значение, представляющее количество foos, чего вы могли бы ожидать, если бы вы просто сослались на переменную с именем 'foo_count'. Так что в некотором смысле то, что 'foos.count' и 'foo_count' выглядят одинаково, неплохо.
«Число» может быть двусмысленным в некоторых случаях, поскольку обычно хранятся числа, которые не представляют количество чего-либо. Другие люди уже упоминали идентификаторы и номера кредитных карт. Вот еще один пример:
Глядя на это имя переменной, вы могли догадаться, что оно представляет? Это целое число, представляющее количество строк, или это строковое представление числа?
Так что на самом деле я просто думаю вслух и привожу несколько плюсов и минусов для каждого, как я их вижу. Причина, по которой я даже на этой старой странице, заключается в том, что я обнаруживаю, что использую эти две непоследовательно и думаю, что посмотрю, что делают другие люди.
Кстати, мне не нравится «nr_foo», поскольку «nr» на самом деле не предполагает и не звучит для меня как слово «число». Это звучит как «нер» или, возможно, означает «без рейтинга» или «национальное регби». :-) И даже не берусь сказать, как звучит fooCnt. Просто нет.
источник
Ядро Linux использует «nr_foo», что лучше, чем «no_foo» (это выглядит как отрицание). Я сам обычно использую «fooCount» или «fooCnt», но иногда также и «numFoo». Я не уверен, почему я колеблюсь между «fooCount» и «numFoo». Думаю, это зависит от моего настроения. Но вы, вы должны быть последовательны (как и я);)
источник
credit_card_nr
звучит как «номер кредитной карты», аnr_credit_cards
звучит как «количество кредитных карт» и корочеcredit_cards_count
. Для меня это звучит вполне естественно (но я могу ошибаться, поскольку я не носитель английского языка).__NR_open
это не количествоopen
системных вызовов - это индекс системного вызова, т.е. значение, которое вы передаете инструкции системного вызова, чтобы указать, какой системный вызов вы вызываете.fooCnt
из-за возможности неправильно его интерпретировать.fooCount
если переменная не является константой,FOO_COUNT
если это так. : Dисточник
Лично я бы выбрал
total_foos
или вtotalFoos
зависимости от языкового стандарта. Он лучше показывает, что значение представляет собой окончательную сумму, а не просто текущий счет.Также имеет смысл сказать «У меня всего 3 foos», чем «У меня 3 count foos».
В целом, это не так уж важно, но я всегда использую
total
большеcount
!источник
totalFoos
может означать, что это полный набор Foos (это случилось в моем случае, когда я собирал различные наборы). Также неплохо иметь идентификатор в начале слова, для удобства чтения. Так что я бы пошел сfoosCount
, поскольку это менее амбивалентно и начинается сfoo*
. Вы также можете сказать: «У меня foosCount равно 3».В основном,
fooCount
как все говорили. Иногда более уместно использоватьfoos
, обычно когда у вас фактически нет списка foos или они не являются отдельными объектами (напримерseconds
, для пиццы, которую вы можете съестьslices
, и т. Д.)Используйте только
foos
тогда, когда нет шансов на путаницу - когда очевидно, что у вас никогда не будет списка foos в этом контексте.источник
foos
иногда для обозначения «количествоfoo
объектов», а иногда для обозначения «совокупностьfoo
объектов», я бы подумал, что это может привести к путанице.slices
звучит для меня как массивslice
объектов, которые являются частьюpizza
объекта. Я бы использовалsliceCount
, илиnr_slices
, или что-то еще (я еще не решил: D)Я использую для количества вещей: somethingCount ( something_count )
Я использую для порядкового номера somethings: somethingIndex ( something_index ), потому что слово «число» неоднозначно ( оно означает количество и порядковый номер )
источник
Я бы пошел на
fooCount
источник
Я обычно использую fooCount или аналогичный.
источник