Index: [Article Count Order] [Thread]

Date:  Wed, 08 Aug 2001 15:23:47 +0900
From:  Kenji Hiranabe <hiranabe@....jp>
Subject:  [XP-jp:02327] Re: Q: コーディング規約
To:  extremeprogramming-jp@....jp
Message-Id:  <20010808152347Z.hiranabe@....jp>
In-Reply-To:  Your message of "Wed, 8 Aug 2001 15:11:00 +0900"	<002a01c11fd0$e54a6080$3e3b6c0a@handava50j>
References:  <002a01c11fd0$e54a6080$3e3b6c0a@handava50j>
X-Mail-Count: 02327

平鍋です.

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 マルチスレッド本には,このことに何か言及あるので
は,と思っています.(調べてません,どなたかフォローを)

 > 最後にこのコーディング規約ですが、本当にええと思います。
 > 昔からやってた、これ守れというだけの、形骸的なものとは
 > 次元が違いますね!!

ありがとごんす!

以上