プログラムで、本棚の中の本を格納する変数があったとします。

その際に、その変数には、1,2,4,8等の数字が入るとします。

その際の変数名としては、bookOnShelfとbooksOnShelfどっちが良いのでしょうか?
よろしくお願いします。

ニュアンスの違いも聞けると嬉しいです。

回答の条件
  • 1人2回まで
  • 登録:2011/01/27 18:41:06
  • 終了:2011/02/03 18:45:04

回答(7件)

id:tama213 No.1

tama213回答回数486ベストアンサー獲得回数302011/01/27 19:02:06

ポイント18pt

bookOnShelf

変数の意味がわかりやすければよいですし

変数を使ってるということから、いろんな数字が入るのは当たり前ですから。

これが定数とかならまた違います。

id:cdaotg No.2

cdaotg回答回数84ベストアンサー獲得回数202011/01/27 19:24:51

ポイント17pt

英語は読めるだけのプログラマの意見ですが、参考になれば幸いです。


私なら、「本」というのが一冊の本を指すならbookOnShelfを、複数の本を指すならbooksOnShelfを使います。

例えば本A・B・C・D…に対して1・2・4・8…を対応させる場合、「本Aが格納されている」という情報はbookOnShelfに格納しますし(単に1を格納)、「本AとCが格納されている」という情報は変数booksOnShelfに格納すべきだと考えます(この場合、1|4==5を変数に格納する)。


ニュアンスの違いとしては、bookOnShelfだと「本棚の中の(一冊の)本」、booksOnShelfだと「本棚の中の(一冊又は複数の)本」という感じになるかと思います。

id:SweetSmile1978 No.3

SweetSmile1978回答回数191ベストアンサー獲得回数292011/01/27 20:52:58

ポイント17pt

変数を使う状況と格納する意味はよくわからないのですが、

bookOnShelf は一冊の本そのもので、

BooksOnShelf は複数の本でしょうね。

たとえば、本棚といっても数段あり、

それぞれの段に複数冊たてることができるわけですから、

一冊の本を bookOnShelf、

各段の複数冊まとめた物を booksOnShelf という感じでしょうか。

ただ、それなら本一冊はbook で本棚の段は

別のわかりやすい名前がいいような気がします。

C++ だと本・本棚の段・本棚などでクラスを作ったりできそうですね。

コード量は爆発的に増えそうですが。

id:deflation No.4

deflation回答回数1036ベストアンサー獲得回数1262011/01/27 21:15:18

ポイント17pt

プログラム全体のネーミングルールに準拠すべき問題ですが、一般論としては、

  • 1冊の本を指しているのなら bookOnShelf
  • 2冊以上の本を指す変数なら booksOnShelf

でしょう。

id:Mook No.5

Mook回答回数1312ベストアンサー獲得回数3912011/01/27 21:46:56

ポイント17pt

コメントが無効なので、回答で失礼します。

変数というのは本の冊数のことでしょうか。


プログラム言語にもよりますが、私だったら BookShelf クラス(オブジェクト)の中の

メンバ(プロパティ)として NumberOfBooks という変数を使います。


もしこれが本のインスタンスを指すインデックスであるなら、一冊の本ですから s は

おかしいですし、そもそもそうであるなら Index を含んだ変数にした方が良いですが。


英語的には

a(the) book on a(the) shelf

あるいは

books on a(the) shelf

でしょうが、これは本そのものを指す言葉ですから、そもそも冊数という変数には不向き

ですし、例え本を指す変数だとしても変数に英語の厳密性を求めてもあまり意味はないと

かと思います。


それよりはネーミングルールで統一する方がよいのではないでしょうか。

的外れな回答でしたら、ポイント不要です。

id:kou-tarou No.6

koutarou回答回数654ベストアンサー獲得回数812011/01/27 23:27:09

ポイント17pt

自分も同じこと。考えたことがあります。


ずばり、booksOnShelfがベストだと思います。

なぜなば、変数から「複数の本を格納する」という意味が、見分けられるからです。


プログラマーの聖書ともいうべき、Code Completeに、

「オリンピックスタジアムの座席数を表す変数」という例など、がありました。

座席数(Seats)、”S”がついてる。なるほど、目から鱗の経験をしたことがあります。


Code Complete第2版〈上〉―完全なプログラミングを目指して

言語毎の変数の命名の仕方とか、詳細に載ってますよ。

(今回のは「変数名の力」の章の「名前を付けるのに一番大切なこと?」という節だったと思います。)

id:taroe No.7

taroe回答回数1099ベストアンサー獲得回数1322011/01/28 15:18:58

ポイント17pt

>bookOnShelfとbooksOnShelfどっちが良いのでしょうか?

どちらも良くない

単数とか複数とか意識させるような変数名は避けたほうが良いです。

回答者5のような考え方が主流です。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません