物凄く久しぶりに一人っきりでワインとか飲んだら思いっきり酔いつぶれて 2、3 時間ほど眠ったらこんどは目が冴えてしまって眠れなくなっちゃったので、これまた久しぶりに枯れた話題について愚考を重ねてみようかと思う次第。
最近、とある友人 (「主に VB」なプログラマーさん) が、「変数名には必ず型がわかるような接頭子をつける記法に慣れている」というようなことをおっしゃるので、ハンガリアン記法を原則化するコーディングルールが好きでは無いおいらはちびっと反発してしまったわけなのですが、偏見の可能性もあるので今一度整理してみようかなぁとか思ってみたわけなのですよ。
結論から言えば、結局は case by case ということになるのだろう、ということなのですが、それだけだと有意義な情報とは言えないと思うので、どういう場面で使うと効果的かというのをさらっと列挙すると大体以下の通りになるんではないかと思う。
void *
や void **
などを使う必要があるケースなど、ポインタアクセス時に暗黙の reinterpret_cast (異なる型の値へのポインタとして扱おうとする型キャスト) が容易に発生しうるような言語においては有効。但し、Java や D 言語のような、オブジェクトの参照に対して型に厳密な言語においては、必ずしも有用ではない。まず、一般的になってしまっている解釈と、それに対するありがちな議論を紹介してみようと思う。
セコメントをする