2010年12月28日火曜日

ハンガリアン記法の意外な歴史とその効用

ハンガリアン記法、使ってますか?
そう、例の「intCount」とか「strFirstName」みたいな、変数の先頭になんか付けるヤツです。

自分は昔は使ってましたが、JavaScript をいじるようになってから (だいたいディスカバ開設の頃ですかね) その影響で徐々に使わなくなって、今はほとんど使わず…という感じです。ただ、なんで使わなくなったのかというのが今まで自分でもよく分からなかったのです。コントロールには依然として接頭辞使ったりもしているので、一貫した理論を主張しにくい感じで、感覚的なものなのかなぁ、というのが正直な感想でした。

で、その理由が今日判明しました。


非常に興味深い流れだったので、以下に再現してみますが。


1. そういえば、GitHub に VBA のコードを登録しているヒトはいるんだろうか?

github vba - Google 検索

2. おや、面白いものを作っている人がいる。使いたい。

VB6ソースコードの字句解析するCOMコンポーネント作ってgithubにアップした - 今日もスミマセン。

3. 過去エントリに興味を惹かれて読んでみる。

ハンガリアン記法が嫌いだ - 今日もスミマセン。

4. 内容に激しく同意しつつ、コメント欄で提示されたリンクに飛んでみる。

間違ったコードは間違って見えるようにする - The Joel on Software Translation Project

いや知らなかった。
何気ない検索から始まって、行き着く先が Joel ですよ。まさにザッツインターネッツ。あと何回飛んだらエロサイトに着いてマルウェア仕込まれるか気になるところですが、今日はこの辺で勘弁しといてやりましょう。

自分が徐々に離れていったのはシステムハンガリアンの方で、生き残っていた習慣はアプリケーションハンガリアンの方だった、と。
なんか、納得しました。

あと、ハンガリアン記法に、こんなグラディエーターばりの知られざる歴史があったとは、驚きです。


ちなみに、以下の記事も面白かったので、メモ。

私がVBAUnitを使わない理由 - 今日もスミマセン。

Webページの要素間をスムーズにスクロールするやつ - 今日もスミマセン。

4 件のコメント:

  1. GitHubとか、刺激を受けます。

    返信削除
  2. > 2. おや、面白いものを作っている人がいる。使いたい。

    何に使います~?

    返信削除
  3. VBE のアドイン作ってると、絶対必要な場面があります。たとえば「Dim s As String =」と入力すると「Dim s As String: s =」に変換してくれるようなコーディング補助ツール作るとします(というか、昔作ったんですが)。自分は正規表現で簡易判定したのですが、本当はちゃんと字句解析からやらないと、複雑な文は誤変換のリスクがありますね。でも字句解析器つくるのが面倒だったんで、放置しておりました。だから、こういう COM コンポーネントがあるなら、それ使わせていただいてパーサーを実装してもいいかな、と思ったわけです。

    返信削除
  4. > VBE のアドイン作ってると、絶対必要な場面があります。

    そうなんですね~。
    コードできたら、見てみたいですm(_ _)m

    返信削除