[seasar-s2dao-dev:647] Re: DAO-143 フィールドの並びが定義順とは限らない件

Yasuo Higa [E-MAIL ADDRESS DELETED]
2008年 10月 6日 (月) 19:18:44 JST


ひがです。

> 小林 (koichik) です.
> 
> S2Dao のコミッタではないので投票はしませんが.
> 
まとめると(勝手にまとめてしまいますが)、
-Javassistの対応は行う。
-アノテーションの対応も行う。
-ドキュメントには、declaredFieldsの話は
 きちんと記述する。

が良いのではないかと思います。
アノテーションで明示的に書くのか、書かないのかは
ユーザにゆだねても良いのではないでしょうか。

> Date:    Mon, 06 Oct 2008 17:43:04 +0900
> From:    YOKOTA Takehiko <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [seasar-s2dao-dev:645] Re: DAO-143 フィールドの並びが定義順とは限らない件
> 
> > どうしてもというのであれば、主要なコンパイラのさまざまなバージョンで検証し、
> > UTを書いたりしておくことで挙動が変わった時すぐにそれが発覚するようにして
> > おき、さらにユーザには検証済みの動作環境を知らせた上で、それ以外のコンパ
> > イラでは正しく動作しない可能性がある旨を告知すべきだとおもいます。
> 
> これについてはアノテーション案でも等しく必要
> (もしくは Javassist 案でも等しく不要) です.
> 
> アノテーション案だと例えば
> 
> [seasar-s2dao-dev:638]
> > - INDEXは@ProcedureParameterの属性でデフォルト-1にしておいて、
> >   -1の場合は現行と同様(取得できた順)にするとか
> 
> となってますが,デフォルトで大丈夫なのは
> どんな環境で,明示的に指定しないといけないのは
> どんな環境なのか告知すべきですよね.
> 
> 明示できるようにしておくから,問題が起きた人は
> アノテーションで指定してね,という程度なら
> 
> > 「現象が出てから対処」だと、少数とはいえ一部のユーザがそういうハマリを
> > 経験するということになると思います。それは不幸なことだと思います。
> 
> という状況に変わりはありません.
> 
> 互換性を捨てて並び順の明示的な指定を必須に
> するのでない限り,上記対応の必要性に違いは
> ないということです.
> 
> 
> 
> ちなみに,Javassist 案とアノテーション案は
> 排他的ではありません.
> 
> アノテーション案を採用するにしても,Javassist 案を
> 併用することでランタイム環境の影響が排除され,
> デフォルト (並び順を明示しない) で大丈夫な環境を
> 拡大することができます.
> 
> 並び順の指定で間違える可能性や,既存のコードへの影響を
> 考慮すると,ランタイム環境の影響だけでもデフォルトで
> 排除することは,利用者にとって大きなメリットのはずです.
> 
> よって論点は,Javassist 案を採用するかどうかではなく,
> 現時点で存在するかどうか不明なコンパイラの影響に
> 備えるべきか? ではないでしょうか.
> 
> 
> 
> -- 
> <component name="koichik">
>     <property name="fullName">"Koichi Kobayashi"</property>
>     <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
>     <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
> 
> _______________________________________________
> seasar-s2dao-dev mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-s2dao-dev
> 


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