Соглашения об именах для переменных "количество foos" [закрыто]
предположим, что мне нужно сохранить количество объектов foo в переменной.
не будучи носителем английского языка, я всегда задаюсь вопросом, Какое лучшее (= короткое и сразу понятное) имя для этого var.
foo_num
? num_foo
? no_foo
? foo_no
? или что-то еще?
полное имя должно быть number_of_foos
, но это немного многословный.
какой ваш любимый и почему?
10 ответов:
Я иду на fooCount, потому что это просто, и я думаю, что слово "count" является самым коротким и лучшим, что описывает его, а не "число" или тому подобное.
Я иду на FOO_COUNT, если вам нужно сохранить его окончательным и статическим(если вам не нужно его менять/если это константа). (все колпачки для констант!)
Я иду на счет и называю его Foo.подсчитайте, если вам действительно нужно сохранить его как атрибут для класса, который вы сделали, который является Foo.
читабельности для вас и для вашей команды!
в английском языке слова "number" и "count" могут выступать как существительные или глаголы, но, вероятно, чаще всего "number" используется как существительное, а "count" - как глагол. Поэтому можно утверждать, что количество Экарт " или "num_foo' звучит более знакомо, чем граф фу " или "foo_count'. Это, конечно, звучит более естественно для меня, когда речь идет о количестве, которое не постоянно меняется. Слово "граф", даже когда используется в качестве существительного, предлагает мне значение, которое идет вверх время.
Ruby и Python имеют .методы подсчета, которые демонстрируют слово используется как глагол, а не существительное. В Ruby вы можете сказать:
foos.count # Count how many elements in the array 'foos'
тем не менее, это возвращает значение, представляющее количество foos, что именно то, что вы могли бы ожидать, если бы вы просто ссылались на переменную с именем 'foo_count'. Так что в некотором роде дело в том, что ' foos.count ' и 'foo_count' выглядят похожими-это приятно.
'' может быть неоднозначным в некоторых случаях, так как это обычно для хранения чисел, которые не представляют собой количество чего-то. Другие люди уже упоминали идентификаторы и номера кредитных карт. Вот еще один пример:num_string
глядя на это имя переменной, не могли бы вы догадаться, что оно представляет? Это целое число, представляющее количество строк, или это строковое представление числа?
Так что я просто думаю очень громко, и дает некоторые плюсы и минусы для каждого, как я их вижу. Я даже на этот старый page-это потому, что я обнаружил, что использую эти два непоследовательно и думал, что увижу, что делают другие люди.
кстати, мне не нравится "nr_foo", так как " nr "действительно не предлагает или звучит как слово "номер" для меня вообще. Это звучит как "ner", или, возможно, означает "not rated" или "national rugby". :- ) И я даже не рискну сказать, как звучит fooCnt. Просто нет.
ядро Linux использует "nr_foo", что лучше, чем" no_foo " (что выглядит как отрицание). Я сам склонен использовать "fooCount" или "fooCnt", но также иногда "numFoo". Я не уверен, почему я колеблюсь между "fooCount"и " numFoo". Думаю, это зависит от моего настроения. Но вы, вы должны быть последовательны (как и я);)
в основном
fooCount
как все и говорили. Иногда это более целесообразно использоватьfoos
, обычно, когда у вас на самом деле нет списка foos, или они не являются отдельными объектами (например,seconds
; для пиццы вы можете иметьslices
и т. д.)использовать только
foos
когда нет никаких шансов на путаницу, хотя - когда очевидно, что у вас никогда не будет списка foo в этом контексте.
Я лично пошел бы за
total_foos
илиtotalFoos
в зависимости от языкового стандарта. Лучше, чтобы значение было конечным итогом, а не просто текущим счетом.также имеет смысл сказать:" у меня есть 3 полных foos", а не"у меня есть 3 количества foos".
в целом, это не огромное дело, но я всегда использую
total
overcount
!