Vamos supor que eu precise armazenar o número de objetos foo em uma variável.
Não sendo um falante nativo de inglês, sempre me pergunto qual é o melhor nome (= curto e imediatamente claro) para essa var.
foo_num
? num_foo
? no_foo
? foo_no
? ou outra coisa?
O nome completo deve ser number_of_foos
, mas é um pouco prolixo.
Qual é o seu favorito e por quê?
naming-conventions
Giacomo
fonte
fonte
number_of_foos
ele se tornam complicadas rapidamente.Respostas:
Eu procuro
fooCount
porque é simples e acho que a palavra "contagem" é a mais curta e a melhor que a descreve, não "número de" ou algo parecido.Eu procuro
FOO_COUNT
se você precisa armazená-lo final e estático (se você não precisa alterá-lo / se é uma constante). (todas em maiúsculas para constantes!)I ir para
count
e chamando-o peloFoo.count
se você realmente tem que armazená-lo como um atributo para uma classe que você fez, o que éFoo
.legibilidade para você e para sua equipe!
fonte
foosCount
, já que o plural representa ainda melhor um conjunto. E deve ser uma contagem de um conjunto de coisas.gamesIncludedCount
, mas singular soa melhor para outros nomes, comogameCount
.Visto que a variável armazena a contagem do número de objetos foo,
fooCount
recebo meu voto.fonte
Em inglês, as palavras 'número' e 'contagem' podem atuar como substantivos ou verbos, mas é provavelmente mais comum ver 'número' usado como substantivo e 'contar' como verbo. Então você pode argumentar que 'o número de foos' ou 'num_foo' soa mais familiar do que 'a contagem de foo' ou 'foo_count'. Certamente parece mais natural para mim quando me referimos a uma quantidade que não muda constantemente. A palavra 'contagem', mesmo quando usada como substantivo, sugere-me um valor que está aumentando com o tempo.
Ruby e Python têm métodos .count, que demonstram a palavra sendo usada como um verbo, em vez de um substantivo. Em Ruby, você pode dizer:
Ainda assim, isso retorna um valor que representa o número de foos, que é exatamente o que você poderia esperar se referisse apenas uma variável chamada 'foo_count'. Então, de certa forma, o fato de 'foos.count' e 'foo_count' parecerem semelhantes é legal.
'Número' pode ser ambíguo em alguns casos, pois é comum armazenar números que não representam uma quantidade de algo. Outras pessoas já mencionaram IDs e números de cartão de crédito. Aqui está outro exemplo:
Olhando para o nome dessa variável, você consegue adivinhar o que ele representa? É um número inteiro que representa a quantidade de strings ou é uma representação de string de um número?
Então, estou apenas pensando em voz alta e dando alguns prós e contras para cada um, conforme os vejo. A razão pela qual estou nesta página antiga é porque estou usando os dois de maneira inconsistente e pensei que veria o que outras pessoas estão fazendo.
BTW, eu não gosto de 'nr_foo', pois 'nr' realmente não sugere ou soa como a palavra 'número' para mim. Soa como 'ner', ou talvez signifique 'não classificado' ou 'rugby nacional'. :-) E nem me arrisco a dizer como soa fooCnt. Apenas não.
fonte
O kernel Linux usa "nr_foo", que é melhor do que "no_foo" (que parece uma negação). Eu mesmo costumo usar "fooCount" ou "fooCnt", mas também às vezes "numFoo". Não sei por que vacilo entre "fooCount" e "numFoo". Acho que depende do meu humor. Mas você, você deve ser consistente (como eu deveria);)
fonte
credit_card_nr
soa como "número do cartão de crédito", enquantonr_credit_cards
soa como "número de cartões de crédito" e é menor quecredit_cards_count
. Parece bastante natural para mim (mas posso estar errado, pois não sou um falante nativo de inglês).__NR_open
não é o número deopen
chamadas do sistema - é o índice da chamada do sistema, ou seja, o valor que você passa para a instrução de chamada do sistema para especificar qual chamada do sistema você está invocando.fooCnt
devido ao potencial de interpretá-la incorretamente.fooCount
se a variável não é uma constante,FOO_COUNT
se for. : Dfonte
Eu pessoalmente escolheria
total_foos
outotalFoos
dependendo do padrão de linguagem. Representa melhor que o valor é um total final e não apenas uma contagem contínua.Também faz mais sentido dizer "Eu tenho 3 foos no total" do que "Eu tenho uma contagem de 3 foos".
No geral, não é um grande negócio, mas eu sempre uso
total
demaiscount
!fonte
totalFoos
poderia implicar que é um conjunto completo de Foos (aconteceu no meu caso, quando eu estava coletando vários conjuntos). Além disso, é bom ter o identificador no início da palavra, para facilitar a leitura. Então, eu continuariafoosCount
, pois é menos ambivalente e começa comfoo*
. Você também pode dizer "Eu tenho um foosCount de 3".Principalmente
fooCount
como todo mundo disse. Às vezes é mais apropriado usarfoos
, geralmente quando você não tem realmente a lista de foos, ou eles não são objetos separados (por exemploseconds
, para uma pizza que você pode comerslices
, etc.)Use apenas
foos
quando não houver chance de confusão - quando for óbvio que você nunca teria uma lista de foos neste contexto.fonte
foos
às vezes para significar "o número defoo
objetos" e outras vezes para significar "a coleção defoo
objetos, acho que isso pode causar confusão.slices
soa para mim como uma série deslice
objetos, que são parte de umpizza
objeto. Eu usariasliceCount
, ounr_slices
, ou qualquer coisa (ainda não decidi: D)Eu uso para a quantidade de alguma coisa: alguma coisaConta ( alguma coisa_conta )
Eu uso para o número de sequência de algo: algoIndex ( algo_index ), porque a palavra "número" é ambígua ( significa a quantidade e o número de sequência )
fonte
Eu iria para
fooCount
fonte
Costumo usar fooCount ou similar.
fonte