編程命名方式:sql
Camel:首個單詞的首字母小寫,其他單詞的首字母大寫;例如userInfo。編程
Pascal:每一個單詞的首字母大寫;例如UserInfo。app
類名:eclipse
規則:Pascal工具
例子:UserInfo開發工具
常量:spa
規則:所有大寫debug
實例與描述:所有大寫,單詞間如下劃線隔開日誌
例子:public static final USER_NAME = 「JACK」;代碼規範
接口:
規則:Pascal
實例與描述:IUserService 注:以I爲前綴開始,後接Pascal命名
方法:
規則:Camel
實例:updateUserPwd(長度不超過24字母,以動賓短語的形式命名)
參數:
規則:Camel
實例:userName(長度不超過18字母)
局部變量:
規則:Camel
實例與描述:字符串類型,必須以str開頭,例如:strUserName = 「hh」;整型類型,必須以i、j開頭,例如:iUserAge = 120;
setter\getter方法:
規則:統一由eclipse開發工具進行生成。
包命名:
規則:包名小寫,通常用可以描述清楚的一個單詞便可。
例如:com.platform.ims.controller.worker//創業視圖處理類
統一使用同一開發工具eclipse4.5版本,而且統一引入shxtCodeProfile.xml代碼規範樣式的xml。經過快捷鍵ctrl+shift+F,進行統一規範代碼樣式。
Java文件註釋內容:
在pacakage以前進行編寫以下形式的內容,每次進行Svn代碼提交,將本次的內容(藍色部分)填寫到註釋中。註釋的形式以下:
/*
* 描述: MMSC V100R002 Relay 通用日誌系統
* 建立人: 張三
* 建立時間:2001-02-16
* 修改內容:新增
* 修改人: 李四
* 修改時間:2001-02-26
* 修改內容:。。。。。。
* 修改人: 王五
* 修改時間:2001-03-25
* 修改內容:。。。。。。
*/
Java類和接口註釋內容:
在package以後和class以前進行編寫,類的註釋主要是一句話功能簡述、功能詳細描述。同時須要列出:版本號、生成日期、做者、內容、功能、與其它類的關係等。 若是一個類存在Bug,請如實說明這些Bug。註釋形式以下:
/**
* 〈一句話功能簡述〉
* 〈功能詳細描述〉
* @author [做者]
* @version [版本號, YYYY-MM-DD]
* @see [相關類/方法]
*/
說明:描述部分說明該類或者接口的功能、做用、使用方法和注意事項,每次修改後增長做者和更新版本號和日期,@deprecated 表示不建議使用該類或者接口。
示例以下:
/**
* LogManager 類集中控制對日誌讀寫的操做。
* 所有爲靜態變量和靜態方法,對外提供統一接口。分配對應日誌類型的讀寫器,
* 讀取或寫入符合條件的日誌紀錄。
* @author 張三,李四,王五
* @version 1.2, 2001-03-25
* @see LogIteraotor
*/
Java成員變量註釋內容:
寫在成員變量之上,說明:成員變量的意義、目的、功能,可能被用到的地方。註釋形式以下:
//註釋內容
private String logType;
Java類和接口的方法註釋內容:
列出方法的一句話功能簡述、功能詳細描述、輸入參數、輸出參數、返回值、違例等。
註釋形式以下:
/**
* 〈一句話功能簡述〉
* 〈功能詳細描述〉
* @param [參數1] [參數1說明]
* @param [參數2] [參數2說明]
* @return [返回類型說明]
* @exception/throws [違例類型] [違例說明]
* @see [類]
* @deprecated
*/
說明:@param 說明參數類型、用途;@exception或throws 列出可能仍出的異常;@deprecated 表示不建議使用該方法。
Java方法中內部變量註釋內容:
在局部變量之上,須要與變量排版同步,註釋形式以下:
public void example( )
{
// 註釋變量一,用於.....
CodeBlock One
}
注意:(1)註釋的語言必須統一使用中文進行描述(包含中文標點),儘可能保證每隔3-4行有相關的註釋說明;(2)避免在一行代碼或表達式的中間插入註釋;(3)經過對方法、變量、類、接口等正確的命名以及合理地組織代碼的結構,使代碼成爲自注釋的;(3)對於一些特殊的複雜的代碼進行說明(例如標記位:1,提交審覈;2,經過審覈;3,審覈打回)。
POJO實體類名:必須以VO結尾,必需重寫toString類(打印出屬性值的詳細信息);
Mybatis接口名:必須以VOMapper結尾,同時相應的xml文件也要以XXXXVOMapper.xml形式展示;
Controller類:儘可能不容許出現異常拋出,或者try、catch 處理異常;儘可能不容許寫業務邏輯處理(所有寫在service層中),作到簡潔明瞭。
DAO/Mapper 類:聲明方法時,查詢以query\find\get爲開頭,其中query、find查詢結果返回爲List、Array,而get返回實體類。變動以update爲開頭,增長以add爲開頭,刪除以delete開頭,儘可能不容許出現其餘的單詞,以達到實現微SQL的形式,在增刪改儘可能拋出MysqlException(FSCAppException)異常。
Service類:處理Controller\Mapper來的數據進行邏輯判斷,同時處理異常(try-catch方式)。
Log4j日誌:要求關鍵的方法,必須使用log.info\debug,輸出相應的變量和返回結果的信息,儘可能進入方法內容用debug進行輸出,同時作到4-5行,有日誌輸出。
代碼規模:
代碼規範內容 |
最大規模 |
備註 |
|
繼承層次 |
4層 |
|
|
類的行數 |
1200行 |
|
|
類的屬性 |
20個 |
|
|
類的方法 |
24個 |
|
|
方法參數 |
10個 |
|
|
方法行數 |
45行 |