1. 每個(gè)文件的頭部注釋: 版權(quán)說明、版本號(hào)、生成日期、作者、內(nèi)容、功能、與其它文件的關(guān)系、修改日志等,頭文件的注釋中還應(yīng)有函數(shù)功能簡(jiǎn)要說明;
2. 函數(shù)頭部應(yīng)進(jìn)行注釋:函數(shù)的目的/功能、輸入?yún)?shù)、輸出參數(shù)、返回值、調(diào)用關(guān)系(函數(shù)、表)、作者或修改人等;
3. 對(duì)變量的定義和分支語句(條件分支、循環(huán)語句等)必須編寫注釋;
4. 自己特有的命名風(fēng)格,要自始至終保持一致,不可來回變化;
5. 類命名標(biāo)準(zhǔn): 由兩個(gè)或以上的相近意義的英文單詞組成,首字母大寫;
6. 一個(gè)類里面只能實(shí)現(xiàn)一個(gè)單據(jù)或一個(gè)功能的不同操作方面,盡可能減少類之間的耦合性;
7. 一些通用功能,都分類封裝成不同的實(shí)用操作類;
8. 對(duì)以前的對(duì)象或函數(shù)重構(gòu)或重命名時(shí), 必須由修改人搜索以前的所有調(diào)用并替換,同時(shí)通知其它人以后使用新的調(diào)用;
9. 注釋格式 /** * Setting to true will enable the display of debug information. * * @param d A boolean. * @return An Email. * @throws EmailException * @version Version * @author Author * @since 1.0 */
10. 類包規(guī)范: path.crm(itm,system,basic,oa,wms,mrp,scm).entity(manager),按模塊分開類,同時(shí)實(shí)體類與操作類分開,映射文件跟實(shí)體類同目錄;path.util下為實(shí)用類;Servlet映射為二級(jí)目錄,目前為/path/system;
11. 頁面不允許RS對(duì)象引用,全部用List或HashMap來實(shí)現(xiàn);
12. 參數(shù)傳遞盡可能使用實(shí)體類, 沒有實(shí)體類的使用HashMap;
13. 方法重載時(shí), 可替換的不能使用重載;
14. 嚴(yán)格按照代碼縮進(jìn)格式進(jìn)行代碼書寫,包括各種操作與分隔符號(hào)兩邊的空格;
15. 模糊搜索關(guān)鍵字,可以輸入如"ab,abc"以逗號(hào)分隔的多個(gè)關(guān)鍵字進(jìn)行搜索;
16. 變量命名規(guī)則: 數(shù)據(jù)類型簡(jiǎn)寫+首字母大寫的變量英文名稱, 如果是全局變量加上小寫g, 如: gszLimitString, gnModuleFlag, gnPageSize;
17. 程序中,SQL語句不能包含方括號(hào), SQL語句中的表別名不能加AS,用空格代替;
18. SQL字符串,不能直接拼接字符串變量,用SET方法實(shí)現(xiàn)變量賦值,避免非法字符串變量引起安全問題;
19. 必須隨時(shí)關(guān)閉所用的ResultSet,Statement對(duì)象,最好用finally實(shí)現(xiàn),避免錯(cuò)誤時(shí)沒有關(guān)閉的問題;
20. 附件管理: 文件大小統(tǒng)一用text.formatFileSize()進(jìn)行格式化;查看與下載鏈接用SPAN標(biāo)簽;
21. 其它詳細(xì)的請(qǐng)參見公司的“軟件編程規(guī)范檢查”;
ps:Java語言編碼規(guī)范(Java Code Conventions):