[seasar-javadoc:751] Re: ResourceResolver

Koichi Kobayashi koichik @ improvement.jp
2006年 12月 20日 (水) 04:00:29 JST


小林 (koichik) です.

Date:    Tue, 19 Dec 2006 03:53:25 +0900
From:    "Maeno" <xenon.0907 @ gmail.com>
To:      <seasar-javadoc @ ml.seasar.org>
Subject: [seasar-javadoc:748]  ResourceResolver

> とりあえずResourceResolverについてさくっと書いてみました。
> うーん。変な事かいてないかなぁと心配してます。

Jundo さんが指摘しているように,「分析」は「取得」の方が
いいですね.
それから,

>  * 実際に入力ストリームを読み取る処理を実行するのは<code>ResourceResolver</code>を実装したクラスに委譲されます。

ここで「委譲」は違いますね.
もしこのインタフェースが実装を持っていて,そのインスタンスが
実装クラスのインスタンスに処理をゆだねるなら委譲ですが.

インタフェースと実装クラスの関係についてあらためて記述する
必要はないと思うので,この段落はなくてもいいかと.


> ちょっと話がそれるんですけども、引数とかにfinalを付加してますよね。
> クラスとか、メソッドなら分かりますけど、引数にfinalってのはあまり
> 見たこと無いんです。
> 
> えと、引数にfinalを付けるのはどういう目的があってのことなのか、
> ポインタだけでもご教示頂ければと思います。

C/C++ の const 修飾子と似ていて,引数や変数を変更できない
ことを意味します.
ただし,参照型の場合変更できないのは参照自体であって,
参照先のオブジェクトは変更できてしまいます.
C/C++ でいうと,const hoge* に似ていて,hoge const* では
ないということになります.

引数や変数に final を付けてるのはもっぱら自分が書いた
コードだと思いますが,これを付ける理由は引数や変数が
変更されないことを明示するためです.
変数が宣言と同時に初期化されて,その後ではもう変更される
ことがないと分かれば,コードを読むときに気にすることが
減るわけです.
変数のスコープを短くするのをもう一歩進めるといった感じ.

でもでも,ResourceResolver まわりは引数に申し訳程度に
final が付いているだけで,変数の方は final にできるのも
付いてないですね...
心より恥じる.

Eclipse 3.2 から (だったかな?) 追加された「Source」−
「Clean Up」で「Code Style」タブにある
「Use modifier 'final' where possible」をチェックして,
その中の「Parameter」と「Local variables」にもチェックすると
可能な限り final を付けてくれるのでオススメです.


> あう、今日は頑張って起きて仕事行かなきゃ・・orz 

行けたのでしょうか? (^^;


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"koichik @ improvement.jp"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



seasar-javadoc メーリングリストの案内