平鍋です.
On Wed, 8 Aug 2001 15:11:00 +0900,
"Tuyoshi Ushio" <t-ushio@....com> said:
> -------
> (27) コーディングスタイル
> -------
> クラスコメントの@dateってないと思いますが、これは何のために
> やるんでしょうか?APIリファレンスにもないし。
あら.これは私の勘違いかも.C++ で doc++ を使っていた時の
名残の気がします.次バージョンで削除します.
> -------
> (42) thisのreturn
> クライアントの便宜を考えたつもりでも,thisをreturnすることはなるべく避ける.
> 理由: a.meth1().meth2().meth3() というような連鎖は,一般的にsynchronization
> 上
> の問題の元になる.
> -------
> どういうケースでこれが問題になるか、を考えたり調べたりしたのですが、、、
> どうもよくわかりません。
http://g.oswego.edu/dl/html/javaCodingStd.html
の
---- 引用 ----
Define return types as void unless they return results that are not (easily) accessible
otherwise. (i.e., hardly ever write ``return this'').
Rationale: While convenient, the resulting method cascades (a.meth1().meth2().meth3())
can be the sources of synchronization problems and other failed expectations about the
states of target objects.
--------------
です.meth1, meth2, meth3 が synchronzied の場合,あたかも 3
つのメソッドがアトミックに起こるように見えて,実際はアトミッ
クでないことがあるからでしょうか.作者が Doug Lea ですから,
彼のJava マルチスレッド本には,このことに何か言及あるので
は,と思っています.(調べてません,どなたかフォローを)
> 最後にこのコーディング規約ですが、本当にええと思います。
> 昔からやってた、これ守れというだけの、形骸的なものとは
> 次元が違いますね!!
ありがとごんす!
以上