プログラミングに地味に悩む部分が、変数とかコマンドの名前。
基本的に禁則後意外だったらどんな名前にしても構わないんだけど、aとかbとかcだと後で「cってなんだ?」ってなってしまうので、パッと読んで内容が思い出せる/伝わるような名前を付けたい。
例えばミカンとリンゴの合計を出すプログラムなら
c = a + b
と書いても良いんだけど
SumOfFluits = NumMandarin + NumApple
みたいな・・・じゃなかった。SumOfF”r”uitsな。風に書く。
こうしておけば、例えば「リンゴは抜きにしてくれ」って言われた時に
SumOfFluits = NumMandarin # + NumApple
(例えばPythonでは#より後ろのコードは“コメント”と言って、動きに関係ないメモになる)
と治せばいいのは一目瞭然である。
もし
c = a + b
だとaとbどっちがリンゴか分からない。という訳で分かりやすい名前にしたいわけだ。
一応言語の仕様として日本語も使えないことは無いので
果物数 = ミカン数 + リンゴ数
みたいに書いてもプログラムとしては使える。昔は日本語使えなかったけど、いまは使える。
ただ、どうしても変数は1文字でも違うと違うものとして扱われる都合上、漢字のように一見似たような表現がある文字は使いたくない・・・けど、それ言ったらアルファベットのiとlだって見分けにくいし・・・なんで日本語を使わないんだろう。
まぁそれはさておき、基本的にアルファベットを使う。
そこで悩むのが・・・恥ずかしながら英語がすぐ出てこない単語だ。少なくともみかん=Mandarinは今調べた。もちろんローマ字で
Goukei_Furu-tsu = Mikan_suu + Ringo_suu
と書いたって良い。というか自分の一回りか二回りうえの世代の人は書いてた。
でも若い世代は英語ネイティブなので、ローマ字の変数名など付けたら、なにかで見られた時に笑われてしまう。別に笑われたってかまいやしないのかもしれないが・・・そういうわけでいちいちググるから時間がかかる。
もっと時間がかかるのは1単語がパッと出てこないやつ
前述の通りプログラミングする際、結構ググりながら作る・・・もっと英語のボキャボラリが豊富ならなぁ・・・しくしく。
そしてもっと困るのが、パッと一言で出てこない単語だ。
例えば上下操作の内容が入る変数の名前
if 目標高さ<現在高さ then
上下操作=下
elseif 目標高さ=現在高さ
上下操作=停止
else
上下操作=上
endif
みたいな時。目標高さ、現在高さはまぁいい。LevelTargetとLevelNowにしておくか。
上・停止・下もup、stop、downでいい。
上下操作みたいなのが悩む。
ググると
みたいに返ってくるから、UpDownOperationって名づければ良いかもしれないが・・・なんかイマイチなんだよなぁ。長いし・・・中身に入りうる値が名前に出てくるのも格好悪いし、UpかDownが入るよう見せかけてStopもありうるよってのも良くない。
うーん・・・うーん・・・
とりあえずElevationRequestにしておくか。
エレベーター=昇降機だから、昇降=エレベーションだろうきっと。
と思ったらElevationの主な意味は“標高”で昇降的な意味は無い。
https://eow.alc.co.jp/search?q=elevation
やっぱUpDonwRequestにしておくか・・・とここまで5分くらいかかる。クソどうでも良いことなんだけど。
そしてさらに単語について調べ始める
そうすると、エレベータは
ラテン語の levis (軽い)→levo(持ち上げる)
http://daydiamond.blog45.fc2.com/blog-entry-2039.html
→英語の elevate (持ち上げる)→ エレベーター elevator
とあり、エレベーターって日本語約なら昇降機になると思うけど・・・直訳なら「持ち上げ機」で、下がるってニュアンス無いのね・・・んじゃアップと変わんねーじゃんということになる。
んじゃエスカ―レーターってどうなのかなぁと思ったら
辞書によると、エスカレーター escalator の語源は、escalade + elevator とのこと。
escaladeのescalaと、elevator の tor が混成したようです。つまり、(箱が動く機械である)エレベーターが先にあり、それと、エスカレード(escalade、はしご登り、はしごでよじ登る)という名詞・動詞が混成して、(階段が動く機械を表す)エスカレーターになったんですね。
http://daydiamond.blog45.fc2.com/blog-entry-2039.html
とあり、てっきりエスカレートする機会だからエスカレーターだと思ってたのに、実はエスカレーターからできた単語がエスカレートだそうだ。エスカレーターはエレベータから派生した単語だったのね。
なるほどなぁ・・・などと言っていると仕事が進まないのである。
もっと英語の本読まないとだめだな・・・
そういやまだ読み終わってないわ。
日本語名、「夏への扉」で、SF入門にお勧めな一冊。
古典的なタイムトラベル物で凄く内容がシンプル。話も典型的な起承転結で良い感じに終わる。
・・・のかな?味方を変えると落ちぶれたおっさんが若かったころの・・・いやネタバレは辞めとこう。