Index: [Article Count Order] [Thread]

Date:  Tue, 18 Jul 2000 12:50:18 +0900
From:  tetsuya@....jp
Subject:  [XP-jp:00633] coding standards
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <50158B900247D411B8120090CC01C0EC1E0564@....jp>
Posted:  Tue, 18 Jul 2000 12:47:51 +0900
X-Mail-Count: 00633

栗原です。

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 によるインデントを行う。
・括弧の位置については、一般的な 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.");
      }
    }
  }

<< 名前付け規約 >>

パッケージ
      全て小文字
      (ex: jp.co.esm.wiki.mlmng)
      
クラス
      各単語の先頭を大文字
      (ex: InputStream)

      例外クラス:末尾に "Exception"
      インタフェース:末尾に "Ifc"
      
定数
      全て大文字、単語の区切りに "_"
      (ex: MAXIMUM_SIZE)
      
インスタンス変数
      先頭文字を小文字、以降の単語の先頭を大文字、末尾に "_"
      (ex: name_)
      
クラス変数
      先頭文字を小文字、以降の単語の先頭を大文字、末尾に "__"
      (ex: count__)
      
ローカル変数
      先頭文字を小文字、以降の単語の先頭を大文字
      (ex: aUser);
      
メソッド
      先頭文字を小文字、以降の単語の先頭を大文字
      (ex: getName)

      値の参照: 先頭に "get" (ex: getName)
      値の設定: 先頭に "set" (ex: setName)
      値の変換: 先頭に "to" (ex: toString)
      factory method: 先頭に "new" (ex: newManager)

<< その他 >>
           
・import 文は、クラスの完全名を記述する。
・クラス宣言は、次の順序で記述する。
      constructor
      finalize
      public method
      protected method
      private method
      private field

・ループカウンタは、i, j, k を使用し、それ以外の用途で使用される変数は
  一目でわかる名前を付ける。
  また、一時変数の使いまわしなども行わない。

======================================================================

---
Tetsuya Kurihara
tetsuya@....jp