java開發命名規範(轉載)

java開發命名規範

 

使用前注意事項:

一、  因爲Java面向對象編程的特性, 在命名時應儘可能選擇名詞java

二、  駝峯命名法(Camel-Case): 當變量名或函式名是由一個或多個單字連結在一塊兒,而構成的惟一識別字時,首字母以小寫開頭,每一個單詞首字母大寫(第一個單詞除外)。web

   如:myFirstName數據庫

一 包名的書寫規範 (Package)

推薦使用公司或機構的頂級域名爲包名的前綴,目的是保證各公司/機構內所使用的包名的惟一性。包名所有爲小寫字母,且具備實際的區分意義。編程

1.1 通常要求

一、選擇有意義的名字,能快速地傳達該類的用途。數組

二、全部包的命名必須採用小寫英文字母。app

1.2 實際應用

應用系統中常常應用分層,Dao層(數據庫訪問)、Service層(業務處理)、Web層(頁面控制action類)。jsp

一、包名的前幾個爲固定名稱, 若是是網站的話,採用網站的域名的反寫,若是域名尚未肯定的話,採用公司固定的幾個名稱。如:net.vschool函數

二、在包名的接下來一個單詞爲模塊的名稱。如:用戶模塊,包名爲net.vschool.user網站

三、關於模塊的訪問操做,採用分層形式,通常分爲:this

   Dao層操做:通常定義在net.vschool.xxx.dao 中,其中xxx爲模塊名稱。

   Service層操做:通常定義在net.vschool.xxx.servie中。

   web層操做:通常定義在 net.vschool.xxx.action中。

 

以下關於用戶模塊的例子:

net.vschool.user

net.vschool.user.dao

net.vschool.user.action

net.vschool.user.service

 

二 類名的書寫規範 (Class)

類名必須使用名詞,若是一個類名內含多個單詞,那麼各個單詞第一個字母大寫,後續字母小寫,起伏呈駝峯狀,人稱駝峯式命名。給類名命名時,必須保證準確、簡潔且容易理解。儘可能使用完整單詞,避免使用縮寫詞(除了你們公認的)

2.1 類的命名

2.1.1 通常要求

一、選擇有意義的名字,能快速地傳達該類的用途。

二、參照java駝峯命名法,類名的首字母必須採用大寫的形式,若是類名爲多詞組合而成的話,那麼每一個詞的首字母必須採用大寫。如:StudentAnswer.java

三、當要區別接口類和實現類的時候,能夠在類的後面加上「Impl」。

    如:接口類:UserInterface.java   接口實現類:UserInterfaceImp

四、推薦實體類沒有後綴名。

2.1.2 實際應用

應用系統中常常應用分層,Dao層(數據庫訪問)、Service層(業務處理)、Web層(頁面控制action類),每一層的類的名稱儘可能帶上該層後綴。

一、Dao層

    a、接口類:採用JavaBean+Interface+Dao的形式來定義,即,實體對象+Interface+Dao。   如:用戶對象接口類: UserInterfaceDao,其中xxx爲模塊名稱。

       b、實現類:採用JavaBean+Interface+Impl+Dao的形式來定義,即,實體對象         +Interface+Impl+Dao。 如:用戶對象實現類:UserInterfaceImplDao

二、Service層

    a、接口類:採用Xxx+Interface+Service的形式來定義,即,模塊+Interface+Service。     如:用戶管理接口類:UserMsgInterfaceServiec

    b、實現類:採用Xxx+Interface+Impl+Service的形式來定義,即,模塊+Interface+

       Impl+Service。如:用戶管理實現類:UserMsgInterfaceImplServiec

三、Web層(action類)

    a、實現類:採用縣 Xxx+Operator+Action的形式來定義,即,模塊+操做+Action。如         用戶模塊User+刪除操做Delete+Action = UserDeleteAction

2.1 變量的命名

2.2.1 普通變量

2.2.2.1 通常要求

一、選擇有意義的名字,能快速地傳達該變量的用途。

二、參照java駝峯命名法,首字母以小寫開頭,每一個單詞首字母大寫(第一個單詞除外)。

2.2.2.2 實際應用

一、變量命名採用基本結構爲typeVariableName,使用3字符前綴來表示數據類型。

例如,定義一個整形變量:intDocCount,其中int代表數據類型,後面爲表意的英文名,每一個單詞首字母大寫。

數據類型或對象類型

變量前綴

備註

byte

bye

一、作數組用時,再加前綴-a,如字符串數組:astr,

二、自定義類型的變量能夠採用自己的名稱,把首字母改成小寫。

三、採用名稱要能表明在方法中的意義。若是員工列表:employeeList

char

chr

float

flt

boolean

bln

Integer/int

int

short

sht

Long/long

lng

Double/double

dbl

string

str

 

二、變量使用技巧:

    a、在一段函數中不使用同一個變量表示先後意義不一樣的兩個數值。

    b、除非是在循環中,不然通常不推薦使用單個字母做爲變量名,i、j、k等只做爲小型循環的循環索引變量。

    c、避免用Flag來命名狀態變量。

    d、用Is來命名邏輯變量,如:blnFileIsFound。經過這種給布爾變量確定形式的命名方式,使得其它開發人員可以更爲清楚的理解布爾變量所表明的意義。  

    e、若是須要對變量名進行縮寫時,必定要注意整個代碼中縮寫規則的一致性。例如,若是在代碼的某些區域中使用intCnt,而在另外一些區域中又使用intCount,就會給代碼增長沒必要要的複雜性。建議變量名中儘可能不要出現縮寫。   

2.2.2 靜態變量

一、選擇有意義的名字,能快速地傳達該變量的用途。

二、參照java駝峯命名法,採用所有大寫的形式來書寫,對於採用多詞合成的變量採用「_」來鏈接各單詞。如:USER_LIST

2.3 方法的命名

2.3.1 通常要求

一、選擇有意義的名字,能快速地傳達該方法的用途。

二、參照java駝峯命名法,首字母以小寫開頭,每一個單詞首字母大寫(第一個單詞除外)。

2.3.2 實際應用

一、方法表示一種行爲,它表明一種動做,最好是一個動詞或者動詞詞組或者第一個單詞爲一個動詞。

二、屬性方法:以get/set開頭,其後跟字段名稱,字段名稱首字母大寫。如:getUserName()

三、數據層方法:只能以insert(插入),delete(刪除),update(更新),select(查找),count(統計)開頭,其餘層方法避免以這個5個單詞開頭,以避免形成誤解。

四、服務層方法,根據方法的行爲命名,只描述方法的意義,而不採用方法的目的命名。好比系統的添加新用戶,用戶能夠前臺註冊,也能夠管理員後臺添加,方法會被重用,因此最好不要用使用register,採用add會更好寫。避免使用與web層相關的方法。

五、Web層方法最好是貼近web的語言,如register,login,logout等方法。

三 註釋的書寫規範 (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用來命名整形變量。

常量:

       規定全用大寫字母表示,若是名字必須用多個單詞來表示,那麼各單詞間用「-「分隔。常量要求必須意義明確,能表達出常量的含義。

相關文章
相關標籤/搜索