Index: [Article Count Order] [Thread]

Date:  Thu, 20 Jul 2000 01:05:48 +0900
From:  Kaoru Hosokawa <khosokawa@....com>
Subject:  [XP-jp:00650] Re: Java coding standards
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <B59BFE55.275B%khosokawa@....com>
In-Reply-To:  <00Jul19.121213jst.115203@....jp>
Posted:  Thu, 20 Jul 2000 01:04:18 +0900
X-Mail-Count: 00650

ホソカワです。

on 2000/07/19 12:10 PM, firo at firo@....jp wrote:

> 矢崎です。私も少しだけ議論に参加させてください。
> 
> tetsuya@....jp さんwrote:
> 
>> 
>>>> インスタンス変数
>>>> 先頭文字を小文字、以降の単語の先頭を大文字、末尾に "_"
>>>> (ex: name_)
>>>> 
>>> 
>>> これは、privateの場合ですよね?
>> 
>> private, protected です。
>> public の可視性は、「使わないはず」なので考慮していません:-)
>> 
>>>> クラス変数
>>>> 先頭文字を小文字、以降の単語の先頭を大文字、末尾に "__"
>>>> (ex: count__)
>>>> 
>>> 
>>> これも。
>> 
>> 同様だと思います。
>> 
> 
> このインスタンス変数やクラス変数の末尾に"_"をつける
> やり方って、一般的なのでしょうか?何故そうしなけれ
> ばならないか、ちょっと理由がわかりません。どなたか教
> えてください。
> 

C から由来しているものだと思います。どこかで読んだような気がします。UNIX で
extern じゃないシステム変数や関数には、頭に "_" を付けています。つまり、"_"
がついているものはプライベートなものであると言うことです。これを受け継いで、
C++では、private 変数やメソッドの頭に "_" をつけるスタイルがあります。ところ
が、システムコードをC++で書いていると C++ のプライベート変数やメソッドと
UNIX のシステム変数、関数との区別がつかなくなってしまうので、末尾に"_"をつけ
るスタイルが出来たようです。

> もしとりたてて理由がなければ"_"はいらないのでは、
> というのが私の主張ですが、いかがでしょう。
> 
> #私は、M.Fowlerが採用している、頭に"_"を付ける方法も、
> あまり好きではないのです。
> 

C++ のスタイルを Java で使っているだけだと思いますので、止めてもいいと思いま
す。ただ、栗原さんも言っていましたが、案外便利ですよ。

    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;
    }

どっちが好みですか?

> --
> 矢崎博英  firo@....jp
> 
> 

-- 
Kaoru Hosokawa
khosokawa@....com