ハンガリアン記法



僕は個人的にはどうもハンガリアン記法というのは好きではありません。もちろん、コーディングルールになってる場合は、仕方がないから従いますが。
ポインタであること、ハンドルであること、メンバ変数であること、これらを変数名で示すのは、まだしも役に立つとは思います。しかし、データの型まで変数名で示すことにどれほどの意義があるでしょうか? C++だと型の不整合はだいたいコンパイラが指摘してくれますし、そもそも型がわかるだけでは可読性はそんなに向上しないような。


ハンガリアン記法の嫌なところは変数名が長くなってめんどくさいところです。
lpszHogeなんていうような変数名はほんとにウンザリします。


だいたい、ハンガリアン記法という名称自体が、ハンガリアン記法の奇妙さの証拠のように思います。
ハンガリアン記法という名称は、考案者のチャールズ・シモニーがハンガリー人であることに由来する、とされますが、ちょっと待ってください。かりにチャールズ・シモニーがドイツ人かフランス人であったなら、ジャーマン記法とかフレンチ記法とかいうような名称になったでしょうか? おそらくならなかったでしょう。
ハンガリー語が、西洋の言語の中ではかなり風変わりな言語であるからこの名前がついたのではないかと想像します。(西洋の言語のほとんどはインド・ヨーロッパ語族に属しますが、ハンガリー語は全く別系統のウラル語族に属します。)


「おいおい、なんだよこの奇妙な変数名は?」
「彼、ハンガリー人だからハンガリー語で変数名つけてるんじゃない?」
「ああ、ハンガリー語って変わってるよな。」


みたいなやりとりがあったんじゃないでしょうか?
(いや、あくまで憶測ですが。)