Index: [Article Count Order] [Thread]

Date:  Fri, 31 Aug 2001 12:35:00 +0900
From:  Toru TAKAHASHI <tooru6.takahashi@....jp>
Subject:  [XP-jp:02442] Re: バグ・パターン
To:  extremeprogramming-jp@....jp
Message-Id:  <200108310335.MAA24225@....jp>
In-Reply-To:  <20010831094032K.hiranabe@....jp>
References:  <20010831092346M.yuichi@....jp>	<20010831094032K.hiranabe@....jp>
X-Mail-Count: 02442

高橋(徹)です。

   "Kenji Hiranabe <hiranabe@....jp>"さんは書きました:
> 上記理由から,クラスのインスタンス変数名は,m_dummy とすべき
> だ,という議論があります.反論したいのですが,よい反論が思い
> 付きません.

この問題についてどこかで見た記憶がありますが、引き出せません。
コンパイルエラーにならないし、やっかいな問題ですね。
("The Elements of Java Style"だったか"essential Java Style"
 だったか)

趣旨のオブジェクト倶楽部Javaコーディング標準のルールとはずれて
しまうかもしれませんが、下記のような案があります。
・setter/getter以外のメソッド内部ではインスタンス変数を直接
 参照することはない。setter/getterでは引数に不定冠詞や'arg'、
 'new'を付ける
 例: aDummy, argDummy, newDummy

英語ネイティブな人には自然な言葉なのでしょうが、僕からみると
これらも接頭辞に見えてしまう感じがします。
(クラス変数にはtheをつけたりするのかな・・・)
コーディング標準の目的はよいコードを書く(間違いを少なくする)
ルール集なので、どの方法がベストかを決めるものではないと思い
ます。javaの場合は、すでに膨大なクラスライブラリが存在し、そこ
での命名規約となるべく一貫性がとれる方法を選ぶことだと思います。
(その点では'm_'は避けたい)
コーディング標準に、ルールを適用する上で生じる可能性がある
問題点を記載する、というのはどうでしょうか?

JDEE(通称JDE)では、クラスのインスタンス変数のGet/Setメソッドを
自動生成するWizardがあります。機械的なコーディングは機械に任せる
という方向もあります。

---
TAKAHASHI, Toru