Windows 開発者によって歪められてしまったハンガリアン記法
http://www.radiumsoftware.com/0507.html
10日前くらいのエントリのようですが、結構面白い内容ですね。
命名に特殊な規則を適用することによって,言語やライブラリの上では多義的・曖昧 (ambiguous) になってしまう情報を,コード上に明示させることが可能となる。そうすれば,局所的にコードを観察するだけで,コンパイラには分からない理論的な誤りを見つけ出すことができるようになるというわけだ。
ハンガリアン記法に限らず、命名ルールを制定するにあたって注意しなければならない点ですね。参考 URL として書かれている原文でも
そのポインタ型が、要素に対するリファレンスなのか、要素の配列なのか、*1型情報から判別できないからこそ、prefix による追加の型情報によって判別できるようにする。
みたいなことが書いてありますね。(超訳どころではない訳ですが)
でも、この目的を達成するのにあたって、ハンガリアン記法を採用するだけのメリットがハンガリアン記法にあるのかな?というのところが疑問ではないですかね。
名前の中に型情報などの付加情報を埋め込む場所をプレフィックスやサフィックスとして決定付けるのは良いとして、そのプレフィックスの名前付けルールというか記号化というか、そっちのルールがなぁ…とか思っちゃいます。*2たとえば、
みたいな項目があったりするんですが、日本人にはちょっと馴染みにくいところがあるんじゃないかなぁ、とか思ったり思わなかったり。