矢崎です。
栗原さん、上手さん、ホソカワさん、リプライあり
がとうございます。
ローカル変数か、インスタンス変数(あるいはクラス変数)
かの区別を明らかにする。
あるいは
プライベートかパブリックかの区別を明らかにする、
というような目的で _ を頭あるいは末尾につける
スタイルがとられてきた(あるいはとられている)と
いうことですね。
上記アドバイスを受けての私の意見ですが、インスタンス
変数、クラス変数は、可視性を問わず _ を頭あるいは末尾
につける、というのではどうでしょうか。
可視性については、原則的にパブリックな変数は表れない
(例外はあると思います)と思いますが、プロテクテッドは
ありそうだというのが私の考えです。で、リファクタリングして
いくとプロテクテッドが、プライベートになったり、その逆にな
ったりすることが有り得るのではないか。ならば可視性の変
更によって名前が変わらないほうがいいのでは、、、と思うの
ですがどうでしょう?これは、万が一パブリックな変数が出て
きたとしても同じ理由から、インスタンス変数、クラス変数に
は全て _ をつける、としたほうがいいと思いますが、どうでし
ょう?
Kaoru Hosokawa さんwrote:
>
> private int x;
> private int y;
>
> public setXY(int x, int y) {
> this.x = x;
> this.y = y;
> }
>
> と
>
> private int _x;
> private int _y;
>
> public setXY(int x, int y) {
> _x = x;
> _y = y;
> }
>
> どっちが好みですか?
私は、個人的にはthisをつけるほうが好み、というか、
今はそれでやっています、なのです(^^)。でも、何か
強い主張があってそうしている、というほどではあり
ません(^^)
--
矢崎 博英 <firo@....jp>