ハンガリアン記法とは、変数名に情報を埋め込むプログラム記述法である。
概要
ハンガリアン記法とは、プログラミングにおいて、変数名にその変数に関する情報を含めるようにする命名法である。
後述するアプリケーションハンガリアンやシステムハンガリアンがあるが、それら以外でも、変数名に情報を埋め込む命名法をハンガリアン記法と呼ぶこともあるようだ。
命名の由来
考案者チャールズ・シモニー(WikipediaによるとWordやExcelの開発に関わって大金持ちになっているらしい)がハンガリー出身なのでこの名前がついている。ハンガリーで人の名前にその本人の性質を表す文字を入れる風習があるわけではない。
そういえば、漫画や小説などで特徴・性格・職業などをキャラクター名に織り込んだネーミングを時々みかけるが、これもハンガリアン記法といえるのではなかろうか。
アプリケーションハンガリアン
型付けで表現できない情報を変数名に埋め込むことで、プログラミングミスに気づきやすくしようとする手法でアプリケーションハンガリアンとも呼ばれる。
たとえば、ドル建て金額と円建て金額がともに整数型で記載されている時に、 dollarOut + yenOut という計算は型システム上はエラーではないが、ドルと円を足しているのでひと目でおかしいと分かる。
DollarCurrencyとYenCurrencyという型を定義して、型システムで自動的にエラーを検知できるようにするべきだといった批判もある。
システムハンガリアン
考案者の論文が曲解された結果、型に関する情報を接頭辞・接尾辞の形で変数名に埋め込むことも、ハンガリアン記法と呼ばれて広がることとなり、システムハンガリアンと呼ばれている。
データ型を変更すると変数名まで変更しなければならないなど批判も多く、考案者の所属していたMicrosoft社においてC言語やC++で使われた時代もあったが、.NET Frameworkでは使われていない。
関連項目
- 変数
- 命名法
- 型付け
- ポーランド記法
- プログラミング関連用語の一覧
- 0
- 0pt