java開發命名規範總結_java

來源:互聯網
上載者:User

使用前注意事項:
1、由於Java物件導向編程的特性, 在命名時應盡量選擇名詞

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

如: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.action中。

如下關於使用者模組的例子:

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。  

如:使用者物件介面類: UserInterfaceDao,其中xxx為模組名稱。

b、實作類別:採用JavaBean+Interface+Impl+Dao的形式來定義,即,實體物件        

+Interface+Impl+Dao。 如:使用者物件實作類別:UserInterfaceImplDao

2、Service層

a、介面類:採用Xxx+Interface+Service的形式來定義,即,模組+Interface+Service。    

如:使用者管理介面類:UserMsgInterfaceServiec

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

Impl+Service。如:使用者管理實作類別:UserMsgInterfaceImplServiec

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字元首碼來表示資料類型。

例如,定義一個整形變數:intDocCount,其中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、在一段函數中不使用同一個變數表示前後意義不同的兩個數值。

b、除非是在迴圈中,否則一般不推薦使用單個字母作為變數名,i、j、k等只作為小型迴圈的迴圈索引變數。

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

d、用Is來命名邏輯變數,如:blnFileIsFound。通過這種給布爾變數肯定形式的命名方式,使得其它開發人員能夠更為清楚的理解布爾變數所代表的意義。 

e、如果需要對變數名進行縮寫時,一定要注意整個代碼中縮寫規則的一致性。例如,如果在代碼的某些地區中使用intCnt,而在另一些地區中又使用intCount,就會給代碼增加不必要的複雜性。建議變數名中盡量不要出現縮寫。  

2.2.2 靜態變數
1、選擇有意義的名字,能快速地傳達該變數的用途。

2、參照java駝峰命名法,採用全部大寫的形式來書寫,對於採用多詞合成的變數採用“_”來串連各單詞。如:USER_LIST

2.3 方法的命名
2.3.1 一般要求
1、選擇有意義的名字,能快速地傳達該方法的用途。

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

2.3.2 實際應用
1、方法表示一種行為,它代表一種動作,最好是一個動詞或者動詞片語或者第一個單詞為一個動詞。

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

3、資料層方法:只能以insert(插入),delete(刪除),update(更新),select(尋找),count(統計)開頭,其他層方法避免以這個5個單詞開頭,以免造成誤解。

4、服務層方法,根據方法的行為命名,只描述方法的意義,而不採用方法的目的命名。比如系統的添加新使用者,使用者可以前台註冊,也可以管理員後台添加,方法會被重用,所以最好不要用使用register,採用add會更好寫。避免使用與web層相關的方法。

5、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用來命名整形變數。

常量:

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.