いいハンガリアンと悪いハンガリアン

覚え書き。


間違ったコードは間違って見えるようにする - The Joel on Software Translation Project
を見てハンガリアン記法を少し見直した。というのも、そもそもハンガリアン記法ってのは、

すべての変数に、それが保持するものの種類を示すタグを小文字で付ける。

ものなんだそうだ。型ではなく種類。これ重要。
型なんてプレフィクスに付けても付けなくても間違ったらコンパイラが教えてくれる。でも、型で判断できないもので共通の種類として使えるものはプレフィックスで付けた方が分かりやすい。


件の記事ではこんな例がのってる。

Excelソースコードにはrwとcolというのがたくさん出てくるが、これは行(row)とカラム(column)を表している。どちらも整数だが、これらの一方を他方に代入するのは意味がない。

とか

ユーザから来た文字列は(安全でない―Unsafe―文字列という意味で) プレフィックス"us"をもつ名前の変数(あるいはデータベースのカラム)に格納する。HTMLエンコードされた文字列や、素性の安全なことのわかっている文字列は(安全―Safe―な文字列という意味で)プレフィックス"s"を持つ名前の変数に格納する。

など。


今までもなんとなくやってたけど意識してやる事にしよう。本当は種類としてのクラスを作るのが一番なんだろうけどなぁとは思うけど。