Reading OSS gives you new experience and discovery. It is just like exploring a library you don't know well. I explored the jitescript today, so I note how to explore and my impressions about them.
OSSを読むということは新たな経験と発見を見出すことであり、よく知らない図書館を散策することに似ているかもしれません。今日はjitescriptを読みましたので、ビルド方法と感想をまとめておきます。
what is the jitescript?
The jitescript is a Java API for Bytecode. I will not use this because I can use the ObjectWeb ASM directly, but its interface and static methods are interesting.
jitescriptはJVMバイトコードを作るためのJava用APIです。私はObjectWeb ASMを使えるのできっと使わないと思いますが、インタフェースやstaticメソッド群が大変興味深かったです。
creating Eclipse project to read
$ git clone https://github.com/qmx/jitescript.git $ cd jitescript $ mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs
how to shorten our Java codes
What surprised me is the 'the pre-constructor style'. Can you explain '{{ ... }}'
in this code?
最も驚いたのは「プレコンストラクタスタイル」と呼ばれているコードの書き方です。次のコードが使っている'{{ ... }}'
を説明できますか?
JiteClass jiteClass = new JiteClass(className, superClass, new String[]{}) {{
jitescript/src/test/java/me/qmx/jitescript/JiteClassTest.java at master · qmx/jitescript · GitHub
defineDefaultConstructor();
}};
This code uses instance initializer which runs between field initialization and constructor.
これはフィールド初期化とコンストラクタの間に実行されるinstance initializerを利用した書き方です。
I feel it's overdone a little, but very interesting. How to shorten Java codes is eternal theme for us.
ちょっとやり過ぎな感じもしますが、なるほどこんな書き方もできるんだと勉強になりました。Javaコードの短縮は我々Java使いにとって永遠の課題ですよね。