JAva開発ネーミング仕様まとめ

6817 ワード

使用前の注意事項:1、Javaのオブジェクト向けプログラミングの特性のため、命名する時できるだけ名詞を選ぶべきです
2、アルパカ命名法(Camel-Case):変数名または関数名が1つ以上の単語で連結され、構成された唯一の識別字である場合、頭文字は小文字で始まり、各単語の頭文字は大文字(最初の単語を除く)である.
例:myFirstName
パッケージ名の表記規則(Package)は、各社/機関で使用されるパッケージ名の一意性を保証するために、会社または機関のトップドメイン名をパッケージ名のプレフィックスとして使用することを推奨します.パッケージ名はすべて小文字で、実際の区別の意味があります.
1.1一般的に1、意味のある名前を選んで、その類の用途を素早く伝えることができる.
2、すべてのパッケージの名前は小文字の英字でなければなりません.
1.2実際のアプリケーションシステムでは、階層化、Dao層(データベースアクセス)、Service層(業務処理)、Web層(ページ制御action類)がよく適用される.
1、パッケージ名の上位は固定名称で、ウェブサイトであれば、ウェブサイトのドメイン名の逆書きを採用し、ドメイン名がまだ確定していない場合は、会社が固定したいくつかの名前を採用する.例えば:net.vschool
2、パッケージ名の次の単語はモジュールの名前です.例えば、ユーザーモジュール、パッケージ名net.vschool.user
3、モジュールのアクセス操作について、階層形式を採用し、一般的に以下に分けられる.
Daoレイヤ操作:一般的にnet.vschool.xxx.daoでは、xxxがモジュール名です.
Serviceレイヤの操作:net.に一般的に定義されます.vschool.xxx.servieで.
Webレイヤ操作:一般的にnet.vschool.xxx.アクション中です.
ユーザーモジュールの例を次に示します.
net.vschool.user
net.vschool.user.dao
net.vschool.user.action
net.vschool.user.service
二種類名の表記規範(Class)クラス名は名詞を使用しなければならない.一つのクラス名に複数の単語が含まれている場合、各単語の最初のアルファベットは大文字で、後続のアルファベットは小文字で、起伏はアルパカ状で、アルパカ式の命名と呼ばれている.クラス名に名前を付ける場合は、正確で簡潔で理解しやすいことを保証する必要があります.できるだけ完全な単語を使って、略語の使用を避けます(みんなが公認している以外)
2.1クラスの名前2.1.1一般的に1、意味のある名前を選んで、その類の用途を素早く伝えることができる.
2、javaアルパカ命名法を参照すると、クラス名の頭文字は大文字でなければならず、クラス名が多語で組み合わせられている場合は、各語の頭文字は大文字でなければならない.例えば:StudentAnswer.java
3、インタフェースクラスと実装クラスを区別する場合は、クラスの後ろに「Impl」を付けることができます.
例:インタフェースクラス:UserInterface.JAvaインタフェース実装クラス:UserInterfaceImp
4、推奨エンティティクラスには接尾辞名がありません.
2.1.2実際のアプリケーションシステムでは階層化が頻繁に適用され、Dao層(データベースアクセス)、Service層(業務処理)、Web層(ページ制御actionクラス)は、各層のクラス名にできるだけその層の接尾辞を付ける.
1、Dao層
a、インタフェースクラス:JavaBean+Interface+Daoの形式で定義します.すなわち、エンティティオブジェクト+Interface+Daoです.  
たとえば、ユーザー・オブジェクト・インタフェース・クラス:xxxがモジュール名であるUserInterfaceDao.
b、実装クラス:JavaBean+Interface+Impl+Daoの形式で定義する、即ち、実体オブジェクト
+Interface+Impl+Dao. 例:ユーザオブジェクト実装クラス:UserInterfaceImplDao
2、サービス層
a、インタフェースクラス:Xxx+Interface+Serviceの形式で定義する.即ち、モジュール+Interface+Serviceである.    
例:ユーザー管理インタフェースクラス:UserMsgInterfaceServicec
b、実装クラス:Xxx+Interface+Impl+Serviceの形式で定義する.即ち、モジュール+Interface+
Impl+Service.例:ユーザー管理実装クラス:UserMsgInterfaceImplServicec
3、Web層(action類)
a、実現類:県Xxx+Operator+Actionの形式で定義し、即ち、モジュール+操作+Actionである.のように
ユーザモジュールUser+削除操作Delete+Action=UserDeleteAction
2.1変数の命名2.2.1普通変数2.2.2.1一般的には1、意味のある名前を選択し、その変数の用途を素早く伝えることができる.
2、javaアルパカ命名法を参照し、頭文字は小文字で始まり、各単語は頭文字が大文字(最初の単語を除く)である.
2.2.2.2実際の応用1、変数命名は基本構造をtypeVariableNameとし、3文字の接頭辞を用いてデータ型を表す.
たとえば、intはデータ型を示し、後に意味を表す英語名で、各単語の頭文字が大文字である整形変数を定義します.
データ型またはオブジェクト型
変数接頭辞
コメント
byte
bye
1、配列を作る時、接頭辞-aを加えて、例えば文字列配列:astr,2、カスタムタイプの変数は自分の名前を採用して、頭文字を小文字に変えることができます.3、採用名称は方法における意味を表すことができる.従業員リスト:employeeList
char
chr
float
flt
boolean
bln
Integer/int
int
short
sht
Long/long
lng
Double/double
dbl
string
str
2、変数の使い方:
a、1段の関数において、前後の意味の異なる2つの数値を同じ変数で表さない.
b、ループ中でない限り、変数名として単一のアルファベットを使用することは一般的に推奨されず、i、j、kなどは小型ループのループインデックス変数としてのみ使用される.
c、Flagによる状態変数の命名を避ける.
d、論理変数(blnFileIsFoundなど)をIsで命名する.このようなブール変数に肯定的な形式の命名方式により、他の開発者はブール変数が表す意味をより明確に理解することができる. 
e、変数名を略語する必要がある場合は、コード全体の略語ルールの一貫性に注意してください.たとえば、コードの一部の領域でintCntを使用し、他の領域でintCountを使用すると、コードに不要な複雑さが増加します.変数名に略語はできるだけ使わないことをお勧めします.  
2.2.2静的変数1、意味のある名前を選択することで、その変数の用途を素早く伝えることができます.
2、javaアルパカの命名法を参照し、すべて大文字で書き、多語合成を採用した変数に対して「」を採用するを選択します.例:USER_LIST
2.3方法の命名2.3.1一般的に1、意味のある名前を選んで、その方法の用途を素早く伝えることができる.
2、javaアルパカ命名法を参照し、頭文字は小文字で始まり、各単語は頭文字が大文字(最初の単語を除く)である.
2.3.2実際に1、方法を適用して1つの行為を表し、それは1つの動作を代表し、1つの動詞または動詞のフレーズまたは最初の単語が1つの動詞であることが望ましい.
2、属性方法:get/setで始まり、その後フィールド名、フィールド名の頭文字が大文字になります.例:getUserName()
3、データ層の方法:insert(挿入)、delete(削除)、update(更新)、select(検索)、count(統計)で始まるしかなく、他の層の方法はこの5つの単語で始まることを避け、誤解を招かないようにする.
4、サービス層の方法、方法の行為によって命名して、方法の意味だけを説明して、方法の目的の命名を採用しません.例えば、システムの新しいユーザーの追加は、ユーザーがフロントに登録したり、管理者がバックグラウンドに追加したりして、方法が再利用されるので、registerを使わないほうがいいです.addを採用すると書きやすいです.Webレイヤに関連するメソッドの使用を避ける.
5、Web層の方法はregister、login、logoutなどのwebに近い言語が望ましい.
三注釈の書く規範(Javadoc)Javaは私達のよくある注釈の方式を採用することができる以外(//、/**/)また、Java言語仕様では、/**で始まるJavadocコメントを特別なコメントとして定義していますが、*/で終わると、Javadocコメントは自動的にオンラインドキュメントに変換され、プログラムドキュメントを単独で作成する手間を省くことができます.推奨されています.
Javadocコメントは主にクラス、プロパティ、メソッドの範囲に関連しています.
例:
 
  
package org.ietf.jgss;

import java.net.InetAddress;

import java.util.Arrays;

/**

 * 。

 *

 * @author

 * @version 1.0, 05/22/07

 * @since 1.0

 */

public class ChannelBinding {

/**

 *

 */

private InetAddress initiator;

/**

 *

 */

private InetAddress acceptor;

/**

 *

 */

    private  byte[] appData;

  

    /**

     * 。

     *

     * @param initAddr 。

     * @param acceptAddr 。

     * @param appData 。

     */

    public ChannelBinding(InetAddress initAddr, InetAddress acceptAddr,

              byte[] appData) {

         initiator = initAddr;

         acceptor = acceptAddr;

         if (appData != null) {

              this.appData = new byte[appData.length];

              java.lang.System.arraycopy(appData, 0, this.appData, 0,

                   appData.length);

         }

    }

 

    /**

     *

     *

     * @param obj

     * @return

     */

    public boolean equals(Object obj) {

         if (this == obj)

              return true;

         if (! (obj instanceof ChannelBinding))

              return false;

         ChannelBinding cb = (ChannelBinding) obj;

         return Arrays.equals(appData, cb.appData);

    }

}


四その他の書く規範
4.1 Jspページ名の表記規範1.すべて小文字の英字文字と""を採用構成.
2.全体としてモジュール名+操作形式を採用する.例:user_view.jsp
3.Jspページは可能な限りactionの意味に対応し、例えばUserListAction対応者user_list.jsp
インタフェース:
アルパカを使用して名前を付けます.名詞のほかに形容詞で命名することもできる(その機能特性を体現する)
方法:
動詞で命名することを規定し、アルパカ式で命名するのに適しているが、類名との最大の違いは、頭文字を小文字にしなければならないことだ.
変数:
名詞として規定されており、その他は「方法」の命名方式と同じである.変数名は非常に重要であり、具体的な意味を含み、理解しやすくなければならない.一般的には、単一のアルファベットを変数名として使用することは許されない.ループで使用されるカウンタなど、一時的な変数がない限り.単一のアルファベットを変数名として使用する場合、一般的にI、J、Kは整形変数の名前を付けるために使用されます.
定数:
名前を複数の単語で表す必要がある場合は、各単語間を「-」で区切るように規定されています.定数は意味が明確で、定数の意味を表現できるようにしなければなりません.