Index: [Article Count Order] [Thread]

Date:  Tue, 18 Jul 2000 23:47:41 +0900
From:  Kaoru Hosokawa <khosokawa@....com>
Subject:  [XP-jp:00635] Re: coding standards
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <B59A9C86.26F8%khosokawa@....com>
In-Reply-To:  <50158B900247D411B8120090CC01C0EC1E0564@....jp>
Posted:  Tue, 18 Jul 2000 23:45:15 +0900
X-Mail-Count: 00635

ホソカワです。

少し議論してもいいかなと思ってコメントします。私の好みを言わせていただきます。

on 2000/07/18 12:50 PM, tetsuya@....jp at tetsuya@....jp wrote:

> 栗原です。
> 
> Kaoru Hosokawa さん Wrote:
> 
>> 私もそう思います。栗原さんのお勧め Java Language Specification
>> 
>> http://www.y-adagio.com/public/standards/tr_javalang/index.htm
>> 
>> でどうでしょう?
> 
> あぅ。進めていたわけではないので気にしないでください(^^;
> もう少し詳細なものを作ってみました。 Doug Lea 氏のものを多く取り入れてい
> ます。
> 個人的には、インタフェースの付加文字と、factory method の付加文字が気になっ
> ています。インタフェースは付加文字要らないかなとか、factory method は、
> new じゃなくて create でしょ、とか。
> ご意見お待ちします。
> 
> ======================================================================
> 
> << 構造規約 >>
> 
> ・ブロック単位で TAB によるインデントを行う。

タブは4文字ですよね?

> ・括弧の位置については、一般的な Java の標準に従う。
> ex:
> 
> public class Hello {
> public static void main(String[] args) {
> boolean isAfternoon = false;
> 
> if (isAfternoon) {
> System.out.println("Good afternoon.");
> }
> else {
> System.out.println("Good morning.");
> }
> }
> }
> 

#また、インデントが消えてしまいました。Outlookなんとかなりませんか?

私の好みは、このようになります。

public class Hello {
    public static void main(String[] args) {
        boolean isAfternoon = false;

        if (isAfternoon) {
            System.out.println("Good afternoon.");
        } else {
            System.out.println("Good morning.");
        }
    }
}

栗原さんとは、elseの場所が違います。

> << 名前付け規約 >>
> 
> パッケージ
> 全て小文字
> (ex: jp.co.esm.wiki.mlmng)
> 
> クラス
> 各単語の先頭を大文字
> (ex: InputStream)
> 
> 例外クラス:末尾に "Exception"
> インタフェース:末尾に "Ifc"

例えば、どんな感じですか?省略形はあまり好みではありません。Exceptionのよう
にInterfaceではダメですか?

> 
> 定数
> 全て大文字、単語の区切りに "_"
> (ex: MAXIMUM_SIZE)
> 
> インスタンス変数
> 先頭文字を小文字、以降の単語の先頭を大文字、末尾に "_"
> (ex: name_)
> 

これは、privateの場合ですよね?

> クラス変数
> 先頭文字を小文字、以降の単語の先頭を大文字、末尾に "__"
> (ex: count__)
> 

これも。

> ローカル変数
> 先頭文字を小文字、以降の単語の先頭を大文字
> (ex: aUser);
> 
> メソッド
> 先頭文字を小文字、以降の単語の先頭を大文字
> (ex: getName)
> 
> 値の参照: 先頭に "get" (ex: getName)
> 値の設定: 先頭に "set" (ex: setName)
> 値の変換: 先頭に "to" (ex: toString)
> factory method: 先頭に "new" (ex: newManager)
> 

すみません。GoF本ではどのようになっていますか?createでしたか?

> << その他 >>
> 
> ・import 文は、クラスの完全名を記述する。
> ・クラス宣言は、次の順序で記述する。
> constructor
> finalize
> public method
> protected method
> private method
> private field
> 
> ・ループカウンタは、i, j, k を使用し、それ以外の用途で使用される変数は
> 一目でわかる名前を付ける。

i,j,kは、やめたほうがいいと思います。コメントを書かずにきれいなコードを書く
のであれば、i の代わりに index と書くなどするべきです。

> また、一時変数の使いまわしなども行わない。
> 
> ======================================================================
> 
> ---
> Tetsuya Kurihara
> tetsuya@....jp

-- 
Kaoru Hosokawa
khosokawa@....com