Załóżmy, że muszę przechowywać liczbę obiektów foo w zmiennej.
Nie będąc native speakerem języka angielskiego, zawsze zastanawiam się, jaka jest najlepsza (= krótka i od razu jasna) nazwa dla tego var.
foo_num
? num_foo
? no_foo
? foo_no
? albo coś innego?
Pełna nazwa powinna być number_of_foos
, ale jest trochę rozwlekła.
Jaki jest Twój ulubiony i dlaczego?
naming-conventions
Giacomo
źródło
źródło
number_of_foos
in szybko stają się uciążliwe.Odpowiedzi:
Idę na
fooCount
to, ponieważ jest to proste i myślę, że słowo „liczba” jest najkrótszym i najlepszym określeniem, a nie „liczba” i tym podobne.Idę na
FOO_COUNT
to, czy trzeba to przechowywać ostateczne i statyczne (jeśli nie trzeba tego zmieniać / jeśli jest stałe). (wszystkie kapsle dla stałych!)Idę do tego
count
i nazywam to,Foo.count
jeśli naprawdę musisz przechowywać go jako atrybut klasy, którą stworzyłeś, czyliFoo
.czytelność dla Ciebie i Twojego zespołu!
źródło
foosCount
, ponieważ liczba mnoga jeszcze lepiej reprezentuje zbiór. I ma być zliczeniem zbioru rzeczy.gamesIncludedCount
, ale liczba pojedyncza lepiej brzmi w przypadku innych nazw, takich jakgameCount
.Ponieważ zmienna przechowuje liczbę obiektów foo,
fooCount
dostaje mój głos.źródło
W języku angielskim słowa „liczba” i „liczba” mogą działać zarówno jako rzeczowniki, jak i czasowniki, ale prawdopodobnie częściej spotyka się słowo „liczba” używane jako rzeczownik, a „licznik” jako czasownik. Można więc argumentować, że „liczba foos” lub „num_foo” brzmi znajomo niż „liczba foo” lub „foo_count”. Z pewnością brzmi to dla mnie bardziej naturalnie, gdy odnoszę się do ilości, która nie ulega ciągłym zmianom. Słowo „count”, nawet użyte jako rzeczownik, sugeruje mi wartość, która z czasem rośnie.
Ruby i Python mają metody .count, które pokazują, że słowo jest używane jako czasownik, a nie rzeczownik. W Rubim możesz powiedzieć:
Mimo to zwraca wartość reprezentującą liczbę foos, czyli dokładnie to, czego można by się spodziewać, gdybyśmy po prostu odwołali się do zmiennej o nazwie „foo_count”. Więc pod pewnymi względami fakt, że „foos.count” i „foo_count” wyglądają podobnie, jest fajny.
W niektórych przypadkach „liczba” może być niejednoznaczna, ponieważ często przechowuje się liczby, które nie reprezentują jakiejś ilości. Inni już wspominali o dowodach osobistych i numerach kart kredytowych. Oto kolejny przykład:
Patrząc na tę nazwę zmiennej, czy możesz odgadnąć, co ona reprezentuje? Czy jest to liczba całkowita reprezentująca liczbę ciągów, czy jest to ciąg reprezentujący liczbę?
Więc po prostu myślę głośno i przedstawiam kilka zalet i wad każdego z nich, tak jak je widzę. Powodem, dla którego nawet jestem na tej starej stronie, jest to, że używam tych dwóch niekonsekwentnie i myślałem, że zobaczę, co robią inni ludzie.
Przy okazji, nie lubię „nr_foo”, ponieważ „nr” naprawdę nie sugeruje ani nie brzmi dla mnie jak słowo „numer”. Brzmi jak „ner” lub może oznacza „nieoceniony” lub „narodowe rugby”. :-) I nawet nie zaryzykuję powiedzieć, jak brzmi fooCnt. Po prostu nie.
źródło
Jądro Linuksa używa "nr_foo", które jest lepsze niż "no_foo" (które wygląda jak negacja). Ja sam używam „fooCount” lub „fooCnt”, ale czasami też „numFoo”. Nie jestem pewien, dlaczego waham się między „fooCount” a „numFoo”. Chyba zależy to od mojego nastroju. Ale ty powinieneś być konsekwentny (tak jak ja);)
źródło
credit_card_nr
brzmi jak „numer karty kredytowej”, podczas gdynr_credit_cards
brzmi jak „liczba kart kredytowych” i jest krótsze niżcredit_cards_count
. Brzmi dla mnie całkiem naturalnie (ale mogę się mylić, ponieważ nie jestem native speakerem).__NR_open
Nie jest liczbąopen
wywołań systemowych - to indeks wywołania systemowego, tj. Wartość, którą przekazujesz do instrukcji wywołania systemowego, aby określić, które wywołanie systemowe wywołujesz.fooCnt
ze względu na możliwość błędnej interpretacji.fooCount
jeśli zmienna nie jest stałą,FOO_COUNT
jeśli tak jest. :REźródło
Osobiście wybrałbym
total_foos
lub wtotalFoos
zależności od standardu językowego. Lepiej reprezentuje to, że wartość jest sumą końcową, a nie tylko bieżącą liczbą.Bardziej sensowne jest też powiedzenie „Mam łącznie 3 foos” niż „Mam 3 liczyć foos”.
Ogólnie rzecz biorąc, to nie jest wielka sprawa, ale zawsze używam
total
ponadcount
!źródło
totalFoos
mogłoby sugerować, że jest to kompletny zestaw Foos (zdarzyło się to w moim przypadku, gdy zbierałem różne zestawy). Ponadto dobrze jest mieć identyfikator na początku słowa, aby był czytelny. Więc wybrałbymfoosCount
, ponieważ jest mniej ambiwalentny i zaczyna się odfoo*
. Możesz też powiedzieć „Mam foosCount równy 3”.W większości
fooCount
tak, jak wszyscy mówili. Czasami jest to bardziej odpowiednie w użyciufoos
, zwykle gdy w rzeczywistości nie masz listy foos lub nie są one oddzielnymi obiektami (np.seconds
Na pizzę, którą możesz miećslices
itp.)Używaj tylko
foos
wtedy, gdy nie ma szans na pomyłkę - gdy jest oczywiste, że nigdy nie miałbyś listy foos w tym kontekście.źródło
foos
czasami określenia „liczbafoo
obiektów”, a innym razem „zbiórfoo
obiektów”, to myślę, że może to prowadzić do nieporozumień.slices
brzmi dla mnie jak tablicaslice
obiektów, które są częściąpizza
obiektu. UżyłbymsliceCount
, albonr_slices
, czy cokolwiek (jeszcze nie zdecydowałem: D)Używam dla ilości czegoś: cosCount ( something_count )
Używam numeru sekwencji czegoś: somethingIndex ( something_index ), ponieważ słowo „numer” jest niejednoznaczne ( oznacza ilość i numer kolejny )
źródło
Ja bym poszedł
fooCount
źródło
Zwykle używam fooCount lub podobnego.
źródło