ハンガリアン記法
マイクロソフトのアプリケーション開発グループで開発された記法。アプリケーション ハンガリアンとシステム ハンガリアンがあり、おおくの場合「システム ハンガリアン」を指す。
アプリケーション ハンガリアンは、間違えたコードを間違えて見えるようにする記法
ExcelVBAとかの貧弱なIDEを使うときは(その変数の方が瞬時にわからないため)有用かと思います。が、Wikipediaに紹介されているような『たとえば、論理座標にRelative Positionのrp、絶対座標にAbsolute Positionのapというプレフィックス』を『relativePosition、absolutePosition』としてもハンガリアン記法というのか気になりました。
ExcelVBA
はじめて間もない頃はオブジェクト型への代入に戸惑っていました。
Dim foo as Object Dim bar as String foo = "foo" ' ←エラーになる bar = "bar" ' foo = ActiveWorkbook.Worksheets(1) ' bar = ActiveWorkbook.Worksheets(1) ' ←エラーになる
foo がオブジェクト型であることを変数を見てわかるようにするためプレフィックスとして「obj」をつけることにしました。
Dim obj as Object obj = "foo" ' オブジェクト型に Let は間違い Set obj = ActiveWookbook.Worksheets(1)
次にWorkbookだと変数名でわかるようにするため、プレフィックスに「book」をつけることにしてみます。プレフィックスが重複してしまい混乱しそうなので「obj」はサフィックスにすることにしました。ほかに配列をあらわす「Ary」を使おうと思います。
Dim bookObj as Workbook ' ←こちらを採用 Dim objBook as Workbook '