Java包行業命名規則習慣

代碼編寫規範目的:可以在編碼過程當中實現規範化,爲之後的程序開發中養成良好的行爲習慣。
代碼編寫規範使用範圍:J2EE項目開發。
包命名規範:
目的:包的命名規範應當體現出項目資源良好的劃分

servlet類所在包命名規範:公司名稱.開發組名稱.項目名稱.web.servlet
例如:net.linkcn.web.servlet

自定義標籤類所在包命名規範:公司名稱.開發組名稱.項目名稱.web.tags
例如:net.linkcn.web.tags

過濾器類所在包命名規範:公司名稱.開發組名稱.項目名稱.web.filter
例如:net.linkcn.web.filter

Action類所在包命名規範:公司名稱.開發組名稱.項目名稱.web.struts.action
例如:net.linkcn.web.struts.action

ActionForm類所在包命名規範:公司名稱.開發組名稱.項目名稱.web.struts.form
例如:net.linkcn.web.struts.form

Javabean所在包命名規範:公司名稱.開發組名稱.項目名稱.web.struts.service.impl
例如:net.linkcn.web.service.impl

Javabean實現接口命名規範:公司名稱.開發組名稱.項目名稱.web.service
例如:net.linkcn.web.service

DAO類所在包命名規範:公司名稱.開發組名稱.項目名稱.dao.impl
例如:net.linkcn.dao.impl

DAO類所實現的接口在包中命名規範:公司名稱.開發組名稱.項目名稱.dao
例如:net.linkcn.dao

POJO類與hbm文件所在包命名規範:公司名稱.開發組名稱.項目名稱.dao.hbm
例如:net.linkcn.dao.hbm

全局公共類、接口類所在包命名規範:公司名稱.開發組名稱.項目名稱.global
例如:net.linkcn.global

全局工具類所在包命名規範:公司名稱.開發組名稱.項目名稱.util
例如:net.linkcn.util

類命名規範
基本命名規範:

類、接口命名

命名規範:以大寫字母開頭,若是有多個單詞,每一個單詞頭字母大寫
例如:StudentInfo
接口命名

命名規範:以大寫字母"I"開頭,若是有多個單詞,每一個單詞頭字母大寫
例如:IStudentInfo

接口實現類命名:
命名規範:將實現的接口名稱的首字母"I"去掉,以"Impl做爲結尾",若是有多個單詞,每一個單詞頭字母大寫。
例如:StudentInfoImpl

J2EE+SSH框架命名規範
servlet類命名:
命名規範:以Servlet單詞結尾
例如:LoginServlet

POJO命名:
使用hibernate自動生成的類便可

DAO類命名:
使用hibernate自動生成的類便可

Action類命名:
命名規範:Action的命名以POJO名稱來制定,POJO名稱Action
例如:
一個POJO名稱爲Diary,其對應的action爲DiaryAction

ActionForm類命名:
命名規範:ActionForm的命名以POJO名稱來制定,POJO名稱Form
例如:
一個POJO名稱爲Diary,其對應的actioForm爲DiaryForm

業務邏輯接口命名:
命名規範:業務邏輯接口的命名以POJO名稱來制定,IPOJO名稱Service
例如:
一個POJO名稱爲Diary,其對應的業務邏輯接口爲IDiaryService

業務邏輯實現類命名:
命名規範:業務邏輯接口實現類的命名以POJO名稱來制定
例如:
一個POJO名稱爲Diary,對應的業務邏輯接口實現類名爲DiaryServiceImpl

類變量命名:
命名規範:變量名首字母必須小寫,若是該變量名有多個單詞組成,後面的單 詞首字母大寫,單詞與單詞之間不要使用"_"作鏈接,變量名訪問控制必須爲私有, 能夠對其增長setter與getter方法。
例如:
private int studentAge;
public int getStudentAge(){
return studentAge;
}
public void setStudentAge(int studentAge) {
this.studentAge=studentAge;
}

常量命名:
命名規範:全部字母大寫,若是有多個單詞組成,單詞與單詞之間以」 _「隔開。而 且該變量必須是公共、靜態、final類型
例如:public static final String USER_NAME=」userName「;

方法命名
命名規範:首字母必須小寫,若是該變量名有多個單詞組成,後面的單詞首字母 大寫,單詞與單詞之間不要使用"_"作鏈接。單詞不要使用名詞。
例如:public int checkLogin(String name,String pwd){}

註釋規範:註釋規範是整個開發規範中最爲重要的組成部分,必須嚴格執行。

類的註釋:
做用:註釋整個類,簡單概述該類做用。
書寫規範:類的註釋必須寫在該類的聲明語法以前。在註釋中要描述該類的基 本做用,做者,日期,版本,公司名稱,版權聲明。
格式:

類的聲明語法

例如:

public class AdminDAO

變量、常量註釋:
做用:簡單描述該變量的意義。
書寫規範:變量註釋必須寫在變量定義以前,簡單描述其表明的意義。
格式:


例如:


public int age;
方法註釋:
做用:對該方法功能簡單描述,其參數、返回值意義的註解。
書寫規範:方法註釋必須寫在方法定義以前。該註釋包括:方法其功能的簡單 描述,方法的參數、返回值類型、返回值意義簡單的描述。
格式:


例如:

public booleaneditAdminPassword(int adminId,String oldPassword,
String password) throws UserException,ServiceException;

Jsp頁面命名:
命名規範:jsp頁面名稱要以小寫字母開頭,若是有多個單詞組成,後面的單詞以 大寫字母開頭。名稱要體現出該頁面的意義,最好可以與模塊名稱聯繫在一塊兒。
例如:
login.jsp --登陸頁面
register.jsp --註冊頁面
message.jsp --客戶留言頁面

J2EE項目工程文件夾組織規範:
目的:規範學員web應用程序的資源組織形式,造成良好的文件組織習慣。文件的組織形式應當體現模塊的劃分。

根據eclipse工具的特徵,項目的目錄結構爲:
src
----存放java文件 
WebRoot
|--images --存放web程序所需的公共圖片
|--css --存放web程序所需的公共樣式表
|--js --存放web程序所需的公共js文件
|--commons --存放web程序所需的公共文件
|--功能模塊文件夾(存放與某個功能模塊相關的資源)
|--images --存放與該功能模塊相關的圖片
|--css --存放與該模塊相關的樣式表文件
|--js --存放與該模塊相關的js文件
|--jsp、html頁面
|--WEB-INF
|--classes
|--lib
|--tld文件

J2EE項目提交規範
項目完成時要將項目做爲一個產品交付用戶,良好的項目組織規範可使用戶能夠方便的找尋項目中須要的資源,同時也是一個公司專業性的體現。項目提交時,要按照下列文件格式進行提交。

項目主文件夾:
做用:存放項目其餘資源文件。
命名規範:時間_班級編號_第X小組。
例如:070706_GS2T18_第四小組。
項目主文件夾下面包括如下文件夾和文件:
|--src:保存.java文件。
|--database:保存數據庫的腳本文件或者數據庫備份文件。
|--source:保存eclipse工程中WebRoot目錄下的全部文件。
|--depend:保存編譯該程序必須依賴的其餘jar文件。
|--javadoc:保存全部類生成的javadoc api文檔。
|--war:保存程序的歸檔文件
|--xx.war:已經打包好的工程文件,能夠直接運行。
|--project:保存開發項目原工程代碼及文件。
|--產品說明書.doc:圖文方式展示該產品使用方法。
|--build.xml:ant腳本,用於生成運行的war文件。
|--項目解說.ppt:進行項目講解的ppt(ppt僅供在校模擬項目使用,不用於其餘商業用途)
注:一個完整的項目中,數據庫必須有必定量的有效的測試數據來支持該程序的運行

包的命名  
Java包的名字都是由小寫單詞組成。可是因爲Java面向對象編程的特性,每一名Java程序員均可以編寫屬於本身的Java包,爲了保障每一個 Java包命名的惟一性,在最新的Java編程規範中,要求程序員在本身定義的包的名稱以前加上惟一的前綴。因爲互聯網上的域名稱是不會重複的,因此程序 員通常採用本身在互聯網上的域名稱做爲本身程序包的惟一前綴。 
例如: net.frontfree.javagroup 

類的命名 
類的名字必須由大寫字母開頭而單詞中的其餘字母均爲小寫;若是類名稱由多個單詞組成,則每一個單詞的首字母均應爲大寫例如TestPage;若是類名 稱中包含單詞縮寫,則這個所寫詞的每一個字母均應大寫,如:XMLExample,還有一點命名技巧就是因爲類是設計用來表明對象的,因此在命名類時應儘可能 選擇名詞。    
例如: Circle 

方法的命名 
方法的名字的第一個單詞應以小寫字母做爲開頭,後面的單詞則用大寫字母開頭。 
例如: sendMessge 

常量的命名 
常量的名字應該都使用大寫字母,而且指出該常量完整含義。若是一個常量名稱由多個單詞組成,則應該用下劃線來分割這些單詞。 
例如: MAX_VALUE 

參數的命名 
參數的命名規範和方法的命名規範相同,並且爲了不閱讀程序時形成迷惑,請在儘可能保證參數名稱爲一個單詞的狀況下使參數的命名儘量明確。 

Javadoc註釋 
Java除了能夠採用咱們常見的註釋方式以外,Java語言規範還定義了一種特殊的註釋,也就是咱們所說的Javadoc註釋,它是用來記錄咱們代 碼中的API的。Javadoc註釋是一種多行註釋,以結束,註釋能夠包含一些HTML標記符和專門的關鍵詞。使用Javadoc 註釋的好處是編寫的註釋能夠被自動轉爲在線文檔,省去了單獨編寫程序文檔的麻煩。 
例如: 

在每一個程序的最開始部分,通常都用Javadoc註釋對程序的整體描述以及版權信息,以後在主程序中能夠爲每一個類、接口、方法、字段添加 Javadoc註釋,每一個註釋的開頭部分先用一句話歸納該類、接口、方法、字段所完成的功能,這句話應單獨佔據一行以突出其歸納做用,在這句話後面能夠跟 隨更加詳細的描述段落。在描述性段落以後還能夠跟隨一些以Javadoc註釋標籤開頭的特殊段落,例如上面例子中的@auther和@version,這 些段落將在生成文檔中以特定方式顯示。

變量和常量命名
變量命名的方法採用匈牙利命名法,基本結構爲scope_typeVariableName,它使用3字符前綴來表示數據類型,3個字符的前綴必須 小寫,前綴後面是由表意性強的一個單詞或多個單詞組成的名字,並且每一個單詞的首寫字母大寫,其它字母小寫,這樣保證了對變量名可以進行正確的斷句。例如, 定義一個整形變量,用來記錄文檔數量:intDocCount,其中int代表數據類型,後面爲表意的英文名,每一個單詞首字母大寫。這樣,在一個變量名就 能夠反映出變量類型和變量所存儲的值的意義兩方面內容,這使得代碼語句可讀性強、更加容易理解。byte、int、char、long、float、 double、boolean和short。 
變量類型和首字母對照關係以下表:
數據類型/對象類型 / 變量前綴 / 備註 
byte bye 
char chr 
float flt 
boolean bln 作布爾變量時,使用bln 
Integer/int int 
String str 
Single sng 
short sht 
Long/long lng 
Double/double dbl 
Currency cur 
Variant bln astr obj vnt 作布爾變量用時,用bln,作字符串數組用時,用astr,作爲對象使用時,用obj,不肯定時,用vnt。
對於數組,在數據類型的前綴前再增長一個a,例如字符串數組爲astr。對於在多個函數內都要使用的全局變量,在前面再增長「g_」。例如一個全局的字符串變量:g_strUserInfo。

在變量命名時要注意如下幾點:
· 選擇有意義的名字,注意每一個單詞首字母要大寫。

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

· i、j、k等只做爲小型循環的循環索引變量。 

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

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

· 若是須要的話,在變量最後附加計算限定詞,如:curSalesSum。 

· 命名不相包含,curSales和curSalesSum。

· Static Final 變量的名字應該都大寫,而且指出完整含義。 

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

· 經過在結尾處放置一個量詞,就可建立更加統一的變量,它們更容易理解,也更容易搜索。例如,請使用 strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。常 用的量詞後綴有:First(一組變量中的第一個)、Last(一組變量中的最後一個)、Next(一組變量中的下一個變量)、Prev(一組變量中的上 一個)、Cur(一組變量中的當前變量)。

· 爲每一個變量選擇最佳的數據類型,這樣即能減小對內存的需求量,加快代碼的執行速度,又會下降出錯的可能性。用於變量的數據類型可能會影響該變量進行計算所產生的結果。在這種狀況下,編譯器不會產生運行期錯誤,它只是迫使該值符合數據類型的要求。這類問題極難查找。

· 儘可能縮小變量的做用域。若是變量的做用域大於它應有的範圍,變量可繼續存在,而且在再也不須要該變量後的很長時間內仍然佔用資源。它們的主要問題是,任何類 中的任何方法都能對它們進行修改,而且很難跟蹤到底是何處進行修改的。佔用資源是做用域涉及的一個重要問題。對變量來講,儘可能縮小做用域將會對應用程序的 可靠性產生巨大的影響。 css

關於常量的命名方法,在JAVA代碼中,不管何時,均提倡應用常量取代數字、固定字符串。也就是說,程序中除0,1之外,儘可能不該該出現其餘數 字。常量能夠集中在程序開始部分定義或者更寬的做用域內,名字應該都使用大寫字母,而且指出該常量完整含義。若是一個常量名稱由多個單詞組成,則應該用下 劃線「_」來分割這些單詞如:NUM_DAYS_IN_WEEK、MAX_VALUE。html

相關文章
相關標籤/搜索