2002/04/03
ハンガリ記法の話3
続きです。
一つの関数が長いコードを持つことは、メンテナンス性を著しく損ないます。その上さらに、GUIの普及によるユーザ数の増大という問題まで抱えるようになりました。この状況ではプログラマの量が圧倒的に足りないのです。結果、多数のプログラマを抱え込むことになり、辞める人間も増えました。コードを担当していたプログラマに辞められた場合、他の人がそのプログラムをメンテナンスしなければならないのですが、一関数当たりのコード量が多いと、まともにコードを追いかけることができなくなります。結果、バグが多量に発生し、デバッグにかかる時間も増大するという悪循環を招くことになりました。このような状況においては、ある変数がある関数内でどのような役割を担っているのかを知っていることは非常に重要です。つまりコードのどの場所においても、その変数がどのような型を保有しているのかがわかる必要が出てきたのです。そこで誕生したのが、ハンガリ記法なのです。ハンガリ記法は変数の型をプレフィックスという形で明示的に宣言しているため、変数の宣言文(C言語においては、基本的には関数の先頭にある)まで遡らなくても型を知ることができます。以上がハンガリ記法の誕生した背景です。最初に書いたとおり、個人的な見解を言うなら、ハンガリ記法まで細かい記法でなくても、ある変数がポインタか、整数か、浮動小数点か文字列型かが判ればいいと思っています。逆に言えば、それだけは明確にしておく必要があるということです。そういう意味でハンガリ記法は一部だけ利用するにしても、利用しないよりは便利です。
さて、このように「使わないよりは(一部でも)使ったほうが便利」なハンガリ記法に対して、いいかげんな知識をもって嫌う人達がいます。その根本的な理由は何でしょうか。私には単純に「マイクロソフトのプログラマが発明したから」つまり、「坊主憎けりゃ袈裟まで憎い」という感情的な理由にしか見えないのですが。


 

Topへ