-
1. *不容許把多個短語句寫在一行中,即一行只寫一條語句編輯器
1. 示例:以下例子不符合規範。佈局
LogFilename now = null; LogFilename that = null;ui
應以下書寫:this
LogFilename now = null;繼承
LogFilename that = null;接口
2. *if, for, do, while, case, switch, default 等語句自佔一行,且if, for, do, while等語句的執行語句不管多少都要加括號{}。get
示例:以下例子不符合規範。產品
if(writeToFile) writeFileThread.interrupt();it
應以下書寫:io
if(writeToFile)
{
writeFileThread.interrupt();
}
3. *相對獨立的程序塊之間、變量說明以後必須加空行。
示例:以下例子不符合規範。
if(log.getLevel() < LogConfig.getRecordLevel())
{
return;
}
LogWriter writer;
應以下書寫:
if(log.getLevel() < LogConfig.getRecordLevel())
{
return;
}
LogWriter writer;
int index;
4. *對齊只使用空格鍵,不使用TAB鍵。
說明:以避免用不一樣的編輯器閱讀程序時,因TAB鍵所設置的空格數目不一樣而形成程序佈局不整齊。
JBuilder、UltraEdit等編輯環境,支持行首TAB替換成空格,應將該選項打開。
5. *在兩個以上的關鍵字、變量、常量進行對等操做時,它們之間的操做符以前、以後或者先後要加空格;
進行非對等操做時,若是是關係密切的當即操做符(如.),後不該加空格。
說明:採用這種鬆散方式編寫代碼的目的是使代碼更加清晰。
因爲留空格所產生的清晰性是相對的,因此,在已經很是清晰的語句中沒有必要再留空格,
若是語句已足夠清晰則括號內側(即左括號後面和右括號前面)不須要加空格,多重括號間沒必要加空格,由於在Java語言中括號已是最清晰的標誌了。
在長語句中,若是須要加的空格很是多,那麼應該保持總體清晰,而在局部不加空格。給操做符留空格時不要連續留兩個以上空格。
示例:
(1) 逗號、分號只在後面加空格。
int a, b, c;
1.
(2) 比較操做符, 賦值操做符"="、 "+=",算術操做符"+"、"%",邏輯操做符"&&"、"&",位域操做符"<<"、"^"等雙目操做符的先後加空格。
if (current_time >= MAX_TIME_VALUE)
a = b + c;
a *= 2;
a = b ^ 2;
1.
(3) "!"、"~"、"++"、"--"、"&"(地址運算符)等單目操做符先後不加空格。
flag = !isEmpty; // 非操做"!"與內容之間
i++; // "++","--"與內容之間
1.
(4) "."先後不加空格。
p.id = pid; // "."先後不加空格
1.
(5) if、for、while、switch等與後面的括號間應加空格,使if等關鍵字更爲突出、明顯。
if (a >= b && c > d)
-
命名規範:
1.包名採用域後綴倒置的加上自定義的包名,採用小寫字母。在部門內部應該規劃好包名的範圍,防止產生衝突。
部門內部產品使用部門的名稱加上模塊名稱。產品線的產品使用產品的名稱加上模塊的名稱。
2.類名和接口使用類意義完整的英文描述,每一個英文單詞的首字母使用大寫、其他字母使用小寫的大小寫混合法。
3.方法名使用類意義完整的英文描述:第一個單詞的字母使用小寫、剩餘單詞首字母大寫其他字母小寫的大小寫混合法。
4. 方法中,存取屬性的方法採用setter 和 getter方法,動做方法採用動詞和動賓結構。
5.屬性名使用意義完整的英文描述:第一個單詞的字母使用小寫、剩餘單詞首字母大寫其他字母小寫的大小寫混合法。屬性名不能與方法名相同。
6. 常量名使用全大寫的英文描述,英文單詞之間用下劃線分隔開,而且使用 final static 修飾。
7.屬性名能夠和公有方法參數相同,不能和局部變量相同,引用非靜態成員變量時使用 this 引用,引用靜態成員變量時使用類名引用。
-
複雜度:
建議的最大規模:
繼承層次 4層
類的行數 1000行(包含{})
類的屬性 10個
類的方法 20個
類友好方法 10個
類私有方法 15個
類保護方法 10個
類公有方法 10個
類調用方法 20個
方法參數 5個
return語句 1個