LoginSignup
70

More than 5 years have passed since last update.

posted at

updated at

モノの数を数える変数名の命名 は fooCount の形式が良いみたい

数えるモノの名前を仮に foo として「foo の個数」を、プログラミングの文脈ではなく素朴に英訳すると「number of foos」になるが、これを元に変数名にすると長いし何か落ち着かない。などと以前から思いつつ何となく流していた。ふと、少し調べてみた。

英語ネイティブの言語感覚で fooCount が比較的多くの人が合意しうる案のようだ。

ざっと読んでの要点メモ

  • number では foo に関する何の数字か分からない。count ならば個数のことであることが示唆される。(書籍「CODE COMPLETE」にこの曖昧さについて記述があるらしい。)
  • number には名詞、count には動詞の感じがある。が、辞書的には両方ともどちらにも使えて(動詞)「数える動作」(名詞)「そうやって得た数」の意味がある。
  • count には数え上げて総計を求める動作の感じを伴う。数え上げた結果の数ならこれが自然。
  • この数え上げ動作の感じがあるので、定数の場合には不自然と見る向きもある。この場合の別案としては MAX_FOOS があり。
  • length や size という手もある。ただし個数というよりは物理的な長さの印象が伴う。foo を収めている集合構造(配列、リストなど)についてならばあり。
  • 場合によっては foos もありだが、foo の集合構造を保持する変数と間違われる可能性がある。個々の foo の中身に興味がない場合などに限定される。
  • "number of foos" をベースとする流儀での命名例: numFoo, nFoo, nrFoo
  • Quantity (qty) 派は命名に言及している英語記事を見つけられなかった。

参考にしたページ

-Naming conventions for “number of foos” variables
-How to name a variable: numItems or itemsCount or itemCount?
-variable naming: count vs. number vs. numberOf vs n vs. length, ...
-「~の数」という変数名はどうつけますか?

2ちゃんねる プログラム板「クラス名・変数名に迷ったら書き込むスレ。」にも何回か話題が出ているが、ちょっと残念な感じなので省略。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
70