Index: [Article Count Order] [Thread]

Date:  Fri, 21 Jul 2000 14:42:48 +0900
From:  Kenji Hiranabe <hiranabe@....jp>
Subject:  [XP-jp:00654] Re: Java coding standards
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <20000721143918A.hiranabe@....jp>
In-Reply-To:  Your message of "Thu, 20 Jul 2000 12:05:45 +0900"	<39766FE9.4A16C5F2@....jp>
References:  <39766FE9.4A16C5F2@....jp>
Posted:  Fri, 21 Jul 2000 14:39:18 +0900
X-Mail-Count: 00654


平鍋です.

しばらくメール見れませんでしたので,まとめてコメントします.

 > ローカル変数か、インスタンス変数(あるいはクラス変数)
 > かの区別を明らかにする。

 > あるいは

 > プライベートかパブリックかの区別を明らかにする、

 > というような目的で _ を頭あるいは末尾につける
 > スタイルがとられてきた(あるいはとられている)と
 > いうことですね。

 > 上記アドバイスを受けての私の意見ですが、インスタンス
 > 変数、クラス変数は、可視性を問わず _ を頭あるいは末尾
 > につける、というのではどうでしょうか。

いいと思います.私は個人的には,_ など使ってメンバ変数を区別
することはありません.JDK のソースのスタイルに従っているためで
す.

しかし,これを行うと,格段に読みやすくなる,と言った人がいる
ので,試してみる価値はあるか,と思っています.書籍
Refactoring のコード例のスタイルですね.

又,"_"について蛇足ならが一言ですが,C/C++ に於いてこれを識
別子の先頭に付けるのは,ANSI 違反です.識別子先頭の _ は,処
理系(言語や標準ライブラリ)に予約されています.

# Java では関係ないです.

とはいっても,かなり広く行われている違反です._ を末尾に,と
いう案は,ここから(違反回避)来ていると思います.メンバに m_ 
を,というのは MS で行われているし,d_ を,というのも,書
籍,大規模C++ソフトウェアデザイン,で推奨されています.

 > 可視性については、原則的にパブリックな変数は表れない
 > (例外はあると思います)と思いますが、プロテクテッドは
 > ありそうだというのが私の考えです。で、リファクタリングして
 > いくとプロテクテッドが、プライベートになったり、その逆にな
 > ったりすることが有り得るのではないか。ならば可視性の変
 > 更によって名前が変わらないほうがいいのでは、、、と思うの
 > ですがどうでしょう?これは、万が一パブリックな変数が出て
 > きたとしても同じ理由から、インスタンス変数、クラス変数に
 > は全て _ をつける、としたほうがいいと思いますが、どうでし
 > ょう?

賛成です.

総合的なコメントとしては,「スタイル」はこれを議論しはじめる
と盛り上がるのですが,今回はこれで盛り上がることはやめ,ホソ
カワさんに「決めて」頂き,それに従う,というのがよいと思いま
す.

以上