碼編寫規範目的:能夠在編碼過程中實現規範化,為以後的程式開發中養成良好的行為習慣。
程式碼編寫規格使用範圍: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){}
註釋規範:註釋規範是整個開發規範中最重要的組成部分,必須嚴格執行。
類別的註解:
作用:註解整個類,簡單概述該類作用。
書寫規範:類別的註釋必須寫在該類別的聲明語法之前。在註釋中要描述該類別的基本作用,作者,日期,版本,公司名稱,版權聲明。
格式:
/* *
* 類別功能描述:(大致描述類別的功能)
* @author:編寫者名稱
*
* @version: 類別檔案的版本號碼從1.0開始(自行決定版本號碼的增改
* 情境), 修改情境(修改時間、作者、改變情境)
*
* @see 包名.參考類名(列出父類,引入類,每個類佔一行),如果有
* 可省略
* 相關資料如:(便於理解本類的一些常數資料及某些資料的格式
* 或認為比較重要的數據,如果沒有可省略)
*/
類別的聲明語法例如:
/**
*
Title:管理員模組資料處理類
*
Description: 兩個數字相加
*
Copyright: Copyright (c) 2007
*
Company:華騰軟體公司
*
* @author 童金虎
*
* @version $Revision: 1.7 $ $Date: 2007/07/08$
*/
public class AdminDAO
變數、常數註解:
作用:簡單描述變數的意義。
書寫規範:變數註解必須寫在變數定義之前,簡單描述其代表的意義。
格式:
/**
* 變數功能描述:(大致描述變數的功能)
*/
例如:
/**
*定義年齡變數
*/
public int age;
方法註釋:
作用:此方法功能簡單描述,其參數、傳回值意義的註解。
書寫規範:方法註釋必須寫在方法定義之前。此註解包括:方法其功能的簡單描述,方法的參數、傳回值類型、傳回值意義簡單的描述。
格式:
/**
* 方法功能說明
* @param args (參數類型可以寫在參數後,也可以省
* 略。每個參數佔一行)
* @return 輸出參數(多種情況寫在同一行)
* @see 類別#參考方法(與此方法有呼叫關係的方法供參
* 考,不必每個方法都完整列出,要選擇有意義的,每個
* 方法佔一行)
* @exception 異常處理類別(方法中能夠引發的異常,每
* 個異常佔一行)
*/
例如:
/**
* 修改管理者密碼
* @param adminId 管理員編號
* @param oldPassword 舊密碼
* @param password 新密碼
* @return boolean 編輯成功
* @throws UserException
* @throws ServiceException
*/
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僅供在校模擬項目使用,不用於其他商業用途)
註:在一個完整的專案中,資料庫必須有一個定量的有效的測試資料來支援該程式的運行