« ヴィジョンが技術により具現化され、具現化された技術によりヴィジョンに誘導される私 | メイン | DojaPTSでアプリケーションを配布する際の注意点!バージョン番号はしっかり変えよう。 »

UJMLをコンパイルしたバイトコード ujbc に何故変数名が含まれているのか?(2006/03/27)

Binary_a_1 以前、無理矢理、文字列をアプリケーションに動的に受け渡せるように、UJMLをコンパイルしたバイトコード ujbc をバイナリエディタで開いたことがある。それが左の画像。

 そのとき、変数名がバイトコード中に残されていることに気づき、漠然と「何故だろう?」と思っていたが、_link() のためだと最近気づいた。

 _link()でリンクされる ujbc とは、例えばステート変数やただの変数を共有することができる。export、import といった指定を変数宣言時に行う。

 異なる ujbc 間で、変数を共有するためには互いが理解できる識別子を使っていなければならず、疎結合を実現する _link() では、その識別子も UJML 中の変数名をそのまま使うのが正しい。そういうわけで、変数名はできるだけ短い方が ujbc のサイズが小さくなるということがわかる。

 とはいっても、開発後のメンテナンス性を著しく損なう変数名のつけ方はいただけないので、開発者の変数名の名付けセンスが問われている、のかもしれない。

トラックバック

この記事のトラックバックURL:
https://www.typepad.com/services/trackback/6a00d8341c2e2e53ef00e5509458de8833

UJMLをコンパイルしたバイトコード ujbc に何故変数名が含まれているのか?を参照しているブログ:

コメント

この記事へのコメントは終了しました。