中國建設銀行網站荊門網點查詢推推蛙品牌策劃
目錄
命名規(guī)范
代碼格式
OOP規(guī)約
集合規(guī)范
并發(fā)規(guī)范
SQL語句規(guī)范
SQL?建表規(guī)范
SQL?索引規(guī)范
SQL?查詢規(guī)范
控制語句規(guī)范
Javadoc?規(guī)范
其他規(guī)范
命名規(guī)范
1、包名:使用小寫字母,多個單詞之間用"."分隔,例如:com.example.mypackage。
2、類名和接口名:使用大駝峰命名法,即每個單詞首字母大寫,例如:MyClass、MyInterface。
3、方法名:使用小駝峰命名法,即第一個單詞小寫,后面每個單詞首字母大寫,例如:myMethod。
4、變量名:同樣使用小駝峰命名法,例如:myVariable。
5、常量名:使用大寫字母和下劃線命名,例如:MY_CONSTANT。
6、參數名:與變量名相同,使用小駝峰命名法。
7、類型參數名:使用單個大寫字母,例如:T、E。
8、枚舉常量名:常量名全部大寫,單詞間用下劃線隔開,例如:MAX_NUMBER。
注意所有的命名應該對應相應的單詞,避免無意義的命名。
代碼格式
1、縮進:使用四個空格進行縮進,不要使用制表符。
2、換行:每行代碼長度不應超過80個字符。當一行代碼過長時,可以通過換行來使其更易讀。
3、空格:在二元運算符(如賦值、邏輯運算符等)兩側加上空格,但在一元運算符(如取反運算符)之后不加空格。例如:int result = 1 + 2; 和 if (!flag) { ... }。
4、大括號:在代碼塊的左大括號前加上一個空格,右大括號獨占一行,除非是空代碼塊。例如:
if (condition) {// 代碼
} else {代碼
}
5、注釋:注釋應該清晰明了,簡潔準確,且不應與代碼格式沖突;注釋應該放在需要解釋的代碼行的上方,或者與代碼保持一定的間距。
6、異常處理:每個 try 塊都應該有一個對應的 catch 塊或者 finally 塊。catch 塊中應該包含恰當的異常處理代碼。
其他:禁止出現代碼多行注釋,禁止出現無意義的空格,禁止出現行末空格,等等。
OOP規(guī)約
1、類命名:類名采用大駝峰命名法,例如:UserInfo;
2、方法命名:方法名采用小駝峰命名法,例如:getUserName();
3、變量命名:變量名采用小駝峰命名法,例如:userName;
封裝性:封裝性是面向對象編程的核心,要求類的屬性和方法要定義為private,只能通過public方法來訪問和修改;
繼承性:繼承性是面向對象編程的重要特性,要求子類和父類之間要保持適當的關系,不應該隨意修改父類的屬性和方法;
多態(tài)性:多態(tài)性是面向對象編程的又一重要特性,要求方法的參數類型和返回值類型要盡量使用父類或接口類型,便于擴展和維護。
集合規(guī)范
集合在聲明后應該立即初始化,避免出現空指針異常;
集合的容量應該在初始化時指定,以提高程序的效率;
集合的類型應該盡量使用泛型,以提高代碼的健壯性和可讀性;
集合的遍歷應該使用迭代器或foreach循環(huán),不應該使用普通的for循環(huán)。
并發(fā)規(guī)范
線程安全:多線程環(huán)境下,應該保證程序的線程安全性,防止出現數據競爭和死鎖等問題;
同步機制:在需要修改共享變量的地方應該加上同步機制,以保證數據的一致性和完整性;
線程池:在使用多線程時應該使用線程池,以避免線程的創(chuàng)建和銷毀帶來的性能損失。
SQL語句規(guī)范
每條?SQL?語句占一行,避免多條語句寫在同一行;
SQL?語句的關鍵字統(tǒng)一使用大寫;
表名、列名等標識符采用小寫,多個單詞用下劃線連接;
SQL?語句中的字面量(如字符串、數字)使用單引號括起來;
注釋可以使用雙短橫線--或 /*?*/ 表示。
SQL?建表規(guī)范
主鍵、唯一索引、普通索引等都需要命名,名稱必須表達清楚索引的含義;
表名應該采用小寫字母,單詞之間用下劃線隔開,例如:user_info;
字段名也應該采用小寫字母,單詞之間用下劃線隔開,例如:user_name;
表字段必須加注釋,注釋內容應該表達字段的含義、業(yè)務含義以及約束條件;
應該根據實際情況選擇合適的數據類型,以盡可能地節(jié)省存儲空間;
不使用保留字作為字段名,以避免出現不必要的錯誤;
盡量避免使用?MySQL?關鍵字作為表名或列名,如?select、order?等。
SQL?索引規(guī)范
索引字段順序應該優(yōu)化,常用的放前面,復合索引優(yōu)先考慮常用組合;
多表連接的?SQL?語句,應該在關聯字段上建立索引,以提高查詢效率;
避免在索引列上使用函數操作,如:select?*?from?table?where?substr(name,1,3)='abc',應改為select?*?from?table?where?name?like?'abc%',以充分利用索引的優(yōu)勢。
注意:索引可以提高查詢的效率,但過多的索引會降低。
SQL?查詢規(guī)范
避免使用?SELECT?*,只選擇必要的字段;
避免在?WHERE?子句中對索引字段使用不等于操作符,如:where?id<>10,這樣會導致索引失效;
避免使用子查詢或者?JOIN?進行大量數據的計算和查詢,盡量減少對數據的掃描。
總之,SQL?語句的書寫規(guī)范、建表規(guī)范、索引規(guī)范、查詢規(guī)范等都可以提高?SQL?的效率,減少錯誤和異常。在實際開發(fā)中,我們應該盡量遵循這些規(guī)范,寫出高效、安全、易于維護的?SQL?語句。
控制語句規(guī)范
1、不能在條件判斷中使用復雜的表達式,應該將復雜表達式的結果賦值給一個變量,然后在條件判斷中使用變量。
2、在判斷?null?值時,應該使用?isnull()?或者?is?not?null?而不是?=?null?或者?!=?null。
3、switch?語句必須帶有?default?分支,并且?default?分支放在最后。
4、使用循環(huán)時,應該注意:
在使用?for?循環(huán)時,應該盡可能地使用增強型?for?循環(huán)來代替?zhèn)鹘y(tǒng)的?for?循環(huán),以提高代碼的可讀性和可維護性;
在使用?while?循環(huán)時,應該注意循環(huán)條件的正確性,避免出現死循環(huán);
對于 do-while?循環(huán),應該盡可能地避免使用,以提高代碼的可讀性和可維護性。
5、在使用遞歸時,應該注意遞歸深度的控制,避免因遞歸深度過大導致程序崩潰。
6、在使用?switch?語句時,應該注意:
switch?語句中的每個?case?分支都應該使用?break?語句或者?return?語句結束,以避免出現意外的控制流程;
當?switch?語句中的?case?分支較多時,應該使用?break?語句或者?return?語句來明確地結束每個分支;
對于可能出現?null?值的情況,應該使用?switch?語句的?default?分支來處理,以避免出現空指針異常。
Javadoc?規(guī)范
【Javadoc規(guī)范是Java開發(fā)中的一種文檔規(guī)范,用于生成API文檔,提供代碼文檔化和注釋工具。Javadoc注釋是一種特殊的Java注釋,可以提取類、方法、變量等信息,生成HTML格式的API文檔。Javadoc注釋以/**開頭,以*/結尾,可以用于注釋類、方法、變量等元素】
其中包含豐富的標簽,可以描述注釋的各種屬性,例如:
1、@param:用于描述方法參數的名稱和說明;
2、@return:用于描述方法返回值的類型和說明;
3、@throws:用于描述方法可能拋出的異常;
4、@see:用于引用其他類、方法或變量;
5、@deprecated:用于標注已經過時的方法或變量。
Javadoc注釋不僅可以用于生成API文檔,還可以提高代碼的可讀性和可維護性,方便其他開發(fā)人員理解代碼和接口。因此,在Java開發(fā)中,Javadoc規(guī)范是一個非常重要的文檔規(guī)范。
注意:
對于每個類、接口、方法、字段,都應該寫一個對應的Javadoc注釋,描述其作用、參數、返回值等信息。
其他規(guī)范
異常處理規(guī)范:包括異常處理的方式、處理順序、日志記錄等的規(guī)范,要求程序要能夠正確處理異常,避免出現不必要的錯誤;
日志規(guī)范:包括日志的級別、格式、位置等的規(guī)范,要求程序要能夠記錄必要的日志信息,便于排查和解決問題;
性能規(guī)范:包括代碼的優(yōu)化、避免資源浪費、減少網絡傳輸等的規(guī)范,要求程序要具有高效性、可伸縮性和可擴展性;
安全規(guī)范:包括密碼存儲、數據加密、SQL注入、XSS攻擊等的安全規(guī)范,要求程序要能夠保證數據的安全性和可靠性;
測試規(guī)范:包括單元測試、集成測試等的規(guī)范,要求程序要具有可測試性和可維護性。