intのcのcは、itochanさん(コメントありがとうございます)のおっしゃるとおり、characterのcって、私は教わりました(カーニハンリッチにあるのかな?ないのかな?今、確認しようと思ったら、手元にないのだよ ^^;)。
ハンガリアン記法で、ふつうならint i;と書くべきところを、characterが入るので、それを明示するためにcって書きます。
って、最近は、習わない(^^;)
う、年齢がばれる(^^;;)
専門学校生なんかが、90年代、これを教わると、自慢げにいっていたので、そこで、エヴァで取り上げられたんだと思います。
ちなみに、教わった当時、「intのc」っていうのは、文字の取り方だけをさしているというよりかは、そのあとの一連の
int c;
while((c = getc(fp) ) != EOF )
{
/* やりたいことをかく */
}
の処理をさしている言葉だったと思います。
この処理のほうが、プログラムが早く書ける場合もあるんだけど。。まあ、それはあんまり興味ない(気が向いて覚えていたら、今度書く)と思うので、今日は、かーるい話題で、上に出てきた、ハンガリアン記法とか、変数名の変遷について!まとめてみますかにょ。
■変数の命名の変遷について
こんな感じ?
・コンササイスコード
・ハンガリアン記法
・番号による命名
・Javaの命名方法
なんつーところですかね。
じゃ、順次説明
なお、ウィリアムのいたずらの独断と偏見で書いていますので、間違いはあるかも。あと、意見は、偏ってます。
■コンササイスコード
COBOLでよく使われた命名方法
得意先をローマ字にすると
TOKUISAKIとなって長いので、TKSKと子音字をのこして、変数名とするもの
もちろん、このやり方だと重なってしまうことがある。
なので、各プロジェクトごとに、子音字、母音字をのこす残し方とか、この後に番号をつけるとか、いろいろあるみたい。
コンササイスコード、コンササイズコード、コンセサイズコード、コンセサイズコード、コンサイズコード、いろいろ、聞いたことがあるけど、どれが正しいか、今ひとつわからん。
なお、意味的には、「concise」から、多分きてるんじゃないかなあ。。と思ってるけど??
■ハンガリアン記法
Cなどでの命名方法。
変数名の前に、その変数の型を書く。
よく、ポインタの変数で、pMgrとか頭にpをつけるのがこれ。
くわしくは、 ここ http://www.biwa.ne.jp/~s-sakata/hungary.txt
さっきのintのcでいうと、Cでは、ハンガリアン記法を採用されることが多いので、本来は、i、実際、ループで変数を取るときは int i;ってとると思う。
だけど、内容的には、文字なので、c、なんで、ここはint cととる。
(っていうかですね、これを説明するとき、はじめに char c;ってかくと、EOFがとれませんねー。じゃあ、ここをintにしましょう。int c;って説明する)
Javaが隆盛をきわめるにつれ、クラスをどーすんだ?ってことになったりして、今では、Cでは使われるので、Cの人には教えるが、Javaをやることになった人には教えない。なので、最近は忘れられかけている。
■番号による名前付け
モジュール名やクラス名などに番号を振ってしまい、その名前をあたまにつける。
たとえば、ピッキングリスト出力モジュール名は
M0301
などのようなカタチ。
この場合、大分類、中分類、小分類とかにわけていることも多い。
たとえば、上記の例で言うと
01--受注
02--発注
03--物流
などと分けてある。
この場合、M0301とみただけで、ピッキングという言葉は知らなくても、物流関係だな!と一発でわかることができる。
官公庁などの仕事の場合、漢字が12文字とか並んでしまうことがあり、さらに、その12文字のうち、何文字目かの1文字が違うと、まったく反対のことをさすなどというケースもある。
こういう場合この番号による名前付けが行われる。
しかし、この方法は、後述するJavaの方法論の人たちの格好の餌食となり、そーいう人たちにが上にいるときに、こういう名前をつけると、ものすごく説教されるので、現在は、上の人をみて、このやり方をつかう。
つまり、明らかに非効率、みんなが困っているのに、後述のJavaのやるかたでやることがある。
■Javaの命名規約
Javaが発祥の元で、今、多くの言語などで使われている。
getTagNameのように、フルネームでかいて、大文字、小文字にするところの決まりがある。
こんなかんじ
http://www.alles.or.jp/~torutk/oojava/codingStandard/writingrobustjavacode_pid86_c11.html#doc1_1901
のようだ。しかし、この規約だと、「英語のフルスペル」で「業界用語」なんて、普通わかんないことが多い((追証(おいしょう)とか、目論見書(もくろみしょ)とか)。
なので、ローマ字で書いてしまうとする規約も多いが、そうすると、15字どころか、ものすごーく長い名前になてしまう、なにしろ漢字が15文字並ぶことだって、国の仕事ではあるんだから)
しかし、そんなことはまったく無視で、Javaはえらいんだ!とばかり、権威の人はいって、ほかのひとを馬鹿にするので、仕方ないから、みんな従っているというプロジェクトも多い。
なお、この場合、権威の人は、自己矛盾をさけるため、以下のように直している
・フルスペルの英語またはローマ字記述を使う
・大文字・小文字を混ぜて使い、読みやすい名前にする
・長い名前をできるだけ避ける
しかし、こう直しても、所詮英語圏のものを日本語に持ってきたら、矛盾するけど、みんな、それを言い出して、権威の人にいじめられるのはいやなので、それにしたがっている。
(そんなら、コンササイスコードのほうが、まだましだよ!と思いつつ)
ってなところっすかねえ。。
P.S ハンガリアン記法と書くところを、一瞬、ポーランド記法と書こうとしてしまい、いや、違うと思って、なんだっけ?と思ったら、名前が出てこない。。
うーんと、って考えて思いついたのが「ワルシャワ条約機構」
って、それ、ぜんぜん違うじゃん!
もっとも、加盟国を思い出して、あ、ハンガリーって気がついたけど(^^;)