변수에 foo 객체 수를 저장해야한다고 가정 해 보겠습니다.
영어 원어민이 아니기 때문에 저는 항상 그 변수에 대해 가장 좋은 (= 짧고 즉각적인) 이름이 무엇인지 궁금합니다.
foo_num
? num_foo
? no_foo
? foo_no
? 또는 다른 것?
전체 이름은이어야 number_of_foos
하지만 약간 장황합니다.
가장 좋아하는 것은 무엇이며 그 이유는 무엇입니까?
변수에 foo 객체 수를 저장해야한다고 가정 해 보겠습니다.
영어 원어민이 아니기 때문에 저는 항상 그 변수에 대해 가장 좋은 (= 짧고 즉각적인) 이름이 무엇인지 궁금합니다.
foo_num
? num_foo
? no_foo
? foo_no
? 또는 다른 것?
전체 이름은이어야 number_of_foos
하지만 약간 장황합니다.
가장 좋아하는 것은 무엇이며 그 이유는 무엇입니까?
number_of_foos
금방 번거로워집니다.
답변:
나는 fooCount
그것이 간단 하기 때문에 간다 . 그리고 나는 "count"라는 단어가 "number of"등이 아니라 그것을 설명하는 가장 짧고 가장 좋은 단어라고 생각한다.
나는 이동에 대한 FOO_COUNT
당신이 (당신이 일정한 경우 / 변경 필요가없는 경우)가 최종 정적 할 필요가있는 경우. (상수는 모두 대문자!)
나는 갈 count
의해 그것을 호출하는 Foo.count
당신이 정말 당신이 만든하는 클래스에 대한 속성으로 저장해야하는 경우 Foo
.
당신과 당신의 팀을위한 가독성!
foosCount
, 복수형은 세트를 더 잘 나타냅니다. 그리고 그것은 일련의 사물의 개수 여야합니다.
gamesIncludedCount
에는 좋지만, 단수형은 gameCount
.
영어에서 'number'와 'count'라는 단어는 모두 명사 또는 동사로 작동 할 수 있지만 'number'는 명사로, 'count'는 동사로 사용되는 것이 더 일반적입니다. 따라서 'foo 개수'또는 'num_foo'가 'foo 개수'또는 'foo_count'보다 더 친숙하게 들린다 고 주장 할 수 있습니다. 지속적으로 변하지 않는 수량을 참조 할 때 확실히 더 자연스럽게 들립니다. '카운트'라는 단어는 명사로 사용될 때도 시간이 지남에 따라 증가하는 가치를 암시합니다.
Ruby와 Python에는 .count 메서드가있어 명사가 아닌 동사로 사용되는 단어를 보여줍니다. Ruby에서는 다음과 같이 말할 수 있습니다.
foos.count # Count how many elements in the array 'foos'
그래도 이것은 foo의 수를 나타내는 값을 반환합니다. 'foo_count'라는 변수를 방금 참조한 경우 예상 할 수있는 것과 정확히 같습니다. 그래서 어떤면에서 'foos.count'와 'foo_count'가 비슷해 보인다는 사실은 꽤 좋습니다.
'숫자'는 어떤 양을 나타내지 않는 숫자를 저장하는 것이 일반적이기 때문에 어떤 경우에는 모호 할 수 있습니다. 다른 사람들은 이미 신분증과 신용 카드 번호를 언급했습니다. 다음은 또 다른 예입니다.
num_string
그 변수 이름을 보면 그것이 무엇을 나타내는 지 짐작할 수 있습니까? 문자열의 양을 나타내는 정수입니까, 아니면 숫자의 문자열 표현입니까?
그래서 저는 정말 큰 소리로 생각하고 제가 보는대로 각각에 대해 몇 가지 장단점을 제공합니다. 내가이 오래된 페이지에있는 이유는 두 가지를 일관되게 사용하지 않고 다른 사람들이하는 일을 볼 것이라고 생각했기 때문입니다.
BTW, 나는 'nr_foo'를 좋아하지 않습니다. 'nr'은 나에게 '숫자'라는 단어를 전혀 제안하거나 말하지 않기 때문입니다. '너'처럼 들리거나 '평가되지 않음'또는 '국가 럭비'를 의미합니다. :-) 그리고 나는 fooCnt가 어떻게 들리는 지 말하지 않을 것입니다. 안돼.
Linux 커널은 "no_foo"보다 나은 "nr_foo"를 사용합니다 (부정처럼 보입니다). 나 자신은 "fooCount"또는 "fooCnt"를 사용하는 경향이 있지만 때로는 "numFoo"도 사용합니다. 왜 "fooCount"와 "numFoo"사이를 오가는 지 모르겠습니다. 내 기분에 따라 달라 지겠지. 하지만 당신은 일관성이 있어야합니다.
credit_card_nr
"신용 카드 번호"처럼 들리지만 "신용 카드 번호" nr_credit_cards
처럼 들리며 credit_cards_count
. 나에게 매우 자연스러운 소리입니다 (하지만 영어 원어민이 아니기 때문에 틀릴 수 있습니다).
__NR_open
수가 아닙니다. open
시스템 호출의 인덱스입니다. 즉, 호출하는 시스템 호출을 지정하기 위해 시스템 호출 명령에 전달하는 값입니다.
fooCnt
잘못 해석 할 가능성이 있으므로 개인적으로 피할 것 입니다.
나는 개인적으로 갈 것 total_foos
또는 totalFoos
언어 표준에 따라. 값이 실행 횟수가 아니라 최종 합계라는 것이 더 좋습니다.
또한 "나는 3 개의 foos를 가지고 있습니다"보다는 "나는 3 개의 foos를 가지고 있습니다"라고 말하는 것이 더 합리적입니다.
전반적으로 큰 거래는 아니지만 항상 사용 total
합니다 count
!
totalFoos
완전한 Foos 세트 라는 것을 암시 할 수 있습니다 (제 경우에는 다양한 세트를 수집 할 때 발생했습니다). 또한 가독성을 위해 단어 시작 부분에 식별자가있는 것이 좋습니다. 그래서 나는 foosCount
덜 양가적이고 시작하기 때문에 foo*
. "나는 foosCount가 3"이라고 말할 수도 있습니다.
거의 fooCount
모든 사람들이 말한 것처럼. 를 사용하는 것이 더 적절할 때가 있습니다 foos
. 일반적으로 실제로 foo 목록이 없거나 개별 개체가 아닌 경우 (예 : seconds
가질 수있는 피자의 slices
경우 등)
foos
하지만 혼동의 가능성이 없을 때만 사용하십시오 .이 컨텍스트에서 foo 목록이 전혀 없을 것이 분명한 경우 에만 사용하십시오 .
foos
"의 수를 의미하는 때때로 foo
"의 집합을 의미하고, 다른 시간 개체를 " foo
개체를, 그 혼란으로 이어질 수 있다고 생각 것입니다.
slices
slice
객체의 일부인 객체 의 배열처럼 들립니다 pizza
. 내가 사용하는 것 sliceCount
, 또는 nr_slices
:, 또는 무엇이든은 (D 나는 아직 결정하지 않은 경우)
나는 무언가의 양에 사용합니다 : somethingCount ( something_count )
나는 무언가의 순서 번호로 사용합니다 : somethingIndex ( something_index ), "숫자"단어가 모호하기 때문입니다 ( 수량과 순서 번호를 의미합니다 ).