アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stay hungry, Stay foolish. -- Steven Paul Jobs
ハンガリー表記はいただけない (スコア:0)
Re:ハンガリー表記はいただけない (スコア:3, 興味深い)
変数名に使うべき言葉としては、型の情報なんか結局はどうでもよくて、
結城氏のデザパタ本でいうところの「役」というものを織り込むのが
重要だなあと、日々思っています。
この変数(や値)の、このコードにおける「役まわり」がhogehogeであったならば、
変数名にもhogehogeという言葉を含めるべきだ、と。
そりゃまあ、ある型でなければ、ある役に成れないことも多いのですが、
逆にいえばそれはしばしば「役さえ(変数名として)表現しておけば、型は書くまでもなく判る」
ことを意味しているわけで。
となると、ハンガリアンなプレフィクス自体をコンパイラが面倒みてくれるわけでもない以上、
型情報の表現を人間さまの気分のレベルでしか行なわないハンガリアンは、
同じく気分で役情報(型情報を含む(!))を表現するスタイルと比べて、
その表現力は、劣ることは有っても勝ることは無いわけで。
あと、oopみたいに、型の概念がいろいろ多彩になると、ハンガリアンの単純な考えかたは破綻するし。
たとえば継承や多重継承で「複数の型を同時に持つ」変数を作れるとか。
以前、あたらしいクラスを作るたびにプレフィクスを増やしていったプロジェクトってのを見て、噴飯したことがあります。
それに多態みたいに1つの変数が複数の型の解釈の余地を受けいれたくなったらお手あげだし。
どう考えてもサヨウナラなんですよね。
よだん:
いまだに「オブジェクト(インスタンス)」と呼ぶべきものを「クラス」と間違って呼んでる人がいますが、
ああいう人は「型」と「役」の区別ができてないことが多いように思います。
同じ型でも役の違う複数のオブジェクトなんて、なんぼでも出てくるでしょうに…