ハンガリアン記法 【Hungarian notation】 ハンガリー記法
概要
ハンガリアン記法(Hungarian notation)とは、コンピュータプログラムの中で用いる変数名などの命名規則の一種で、名前の先頭や末尾に決まった意味の接頭辞や接尾辞を付与する方式。考案者のチャールズ・シモニー(Charles Simonyi)がハンガリー出身であることに由来してこのように呼ばれる。アプリケーションハンガリアン (Apps Hungarian)
もともと氏が提唱した記法は、変数名の先頭に意味や目的、種類などを表す短い接頭辞(prefix)を付け加えることで、意味的に明らかにおかしな操作を記述してしまうことを未然に防ぐというものであった。
例えば、日本円の価格を表す変数名を「jpyPrice」、米ドルの価格を「usdPrice」のように名付けておけば、両者を直接加算するコードなどを記述するのは不自然であることが一目瞭然となる。現在ではこの方式は「アプリケーションハンガリアン」と呼ばれる。
システムハンガリアン (Systems Hungarian)
一方、一般的にハンガリアン記法としてよく知られるのは「システムハンガリアン」と呼ばれる方式で、データ型などプログラム上の形式的な仕様を表す接頭辞を付与するものである。例えば、整数型(integer)は「i」、ブーリアン型(boolean)型は「b」、文字列型(string)は「s」といった具合で、「iPrice」なら整数値、「bChecked」ならブール値(真偽値)、「sMessage」なら文字列であることが分かる。
データ型などの仕様はプログラミング言語や開発環境によって異なるため、接頭辞と意味の対応関係も言語仕様などに応じて決められる。あくまで開発者にとっての便宜であるため、変数名を「i」から始めると自動的に整数型として扱われるといった仕組みがあるわけではない。
(2022.2.17更新)