2002/04/01
ハンガリ記法の話1
ハンガリ(ハンガリアン)記法というのはプログラマ以外は、ほとんど聞いたことが無いでしょうが、逆にwindows系でプログラミングを経験した人なら、確実に知っていると思います。
ハンガリ記法というのはマイクロソフトのハンガリー人プログラマのチャールズ=シモニーが開発したプログラミング時の命名規則の一つです。プログラミングの世界では色々な変数を扱います(整数型とか浮動小数点型とか文字列型とか)。その変数の名前をつけるときにプレフィックスというのを付けて、それがどんな型なのかを明確にするのがハンガリ記法です。このハンガリ記法は賛否両論あります。私が見たところ、いわゆるマイクロソフト陣営は賛成、中立も賛成が多く、反マイクロソフト陣営は反対というのが基本のようです。私個人としてはハンガリ記法が完璧とは思っていませんし、一部使いにくいところがあることを承知した上でその本質を考えると賛成です。ハンガリ記法には弱点も多いですが、それを上回る利点があるからです。まずは、ハンガリ記法に反対している人の反対意見を拾ってみましょうか。第一に変数名がわかりにくくなるというのがあります。彼らはこのように主張します。TotalCountと書けば良いところを、ハンガリ記法はsCountなどと書いて判りにくくする、と。これはハンガリ記法が何なのかをまったく理解せずに書いた大いなる勘違いです。ハンガリ記法は上記の通りプレフィックスを追加することで変数の型を明確にする目的があります。よってTotalCountはハンガリ記法においてはsTotalCount(先頭のsはshort型整数の意味)と書くことになるだけで、決してlCountなどという変な省略はしません(ただしMSDNの変数命名規則を読むと、変数名としては25〜30文字を越えないようにするように書いては、あります)。このことから逆に変数名が長くなる、という反対意見もあります。たしかに変数名にプレフィックスがつきますから今までの変数名よりも長くなりますが、大抵は1〜2文字、多くてもたかが4文字です。4文字多くなったところでどうだというのでしょうか。
続きます。


 

Topへ