[VBA]命名規則(変数、関数、クラス、モジュール)

Riichi

2010年08月09日 21:11

■命名規則の種類
キャメルケース Wikipedia
命名規則 Wikipedia
ハンガリアン記法 Wikipedia
[wikipedia引用始め]
二種類のハンガリアン記法
本来、シモニーの考案したハンガリアン記法とは、変数の意味や使用目的から接頭辞を決定することであり、型では区別できない情報を変数名に付与することで、紛らわしい変数の意味を明白にし混同をさけるためのものであった。たとえば、論理座標とデバイス座標、X軸とY軸、ドルと円などで、これらは単純に型による安全性に頼ることはできない。

マイクロソフトのアプリケーション開発グループで開発されたこの記法は Excel や Word などの開発で成功を収めたため、Windows 開発グループでも採用された。その際、シモニーの論文中の "type" がデータ型のことであると誤って解釈され、変数名にデータ型を表す接頭語や接尾語をつける記法だと誤解された。シモニーの意図していた記法をアプリケーションハンガリアン、誤解に基づく記法をシステムハンガリアンと呼ぶ。システムハンガリアンは現在批判されることが多く、.NET Framework では使われていない[1]。

ハンガリアン記法に二種類あることはあまり知られておらず、単に「ハンガリアン記法」と言及された場合でも、システムハンガリアンという意味で用いられることが多い。
[wikipedia引用終わり]

システムハンガリアン記法で問題となるのは、プログラム保守の際に、
表記の修正がもれてしまった場合、間違いに気づきにくい点です。

アプリケーションハンガリアン記法の本来の目的は、
間違いに気づきやすいように、名前に意味を持たすというものです。

int入力金額合計 = dbl入力外貨金額 + int入力邦貨金額

上記は、極端な例ですが、
・外貨金額を邦貨金額に換算せずに足し算している。
・合計金額の変数が、int型で桁落ちが発生する。
というのがすぐ分かると思います。

■VB6(VBA)で使われていたデータ型プレフィックスの例
ブール型 (Boolean)  bln
バイト型 (Byte)    byt
通貨型         cur
日付型         dtm
Double型        dbl
int型          int
Long型        lng
オブジェクト型     obj
Single型       sng
文字列型       str

その他プレフィックスの例
VB プレフィックス google検索結果

.NETの命名規則については、「DOBON」さんのホームページの記事が
分かりやすかったので、紹介します。
DOBON.NET
.NETの命名規則 DOBON.net

※名前は、必ず意味のある内容を使用してください。
※ローマ字表記の時は、使用するローマ字のつづりを決めておく必要があります。
 (長音などの表記) 
※命名規則についは、あらかじめ決定した命名ルールに準じてください。
 複数の命名ルールが混在する場合は、悲惨なこととなります。
※(アプリケーション)ハンガリアン記法は、賛否両論の規則です。

関連記事