Java代碼規(guī)范那些事
Java開發(fā)中所要遵守的編碼規(guī)范大體上有如下7點(diǎn)。命名規(guī)范、注釋規(guī)范、縮進(jìn)排版規(guī)范、文件名規(guī)范、聲明規(guī)范、語(yǔ)句規(guī)范以及編程規(guī)范。
1.命名規(guī)范
(1)所有的標(biāo)示符都只能用ASCⅡ字母(A-Z或a-z)、數(shù)字(0-9)和下劃線“_”。
(2)一個(gè)***包名的前綴總是全部小寫的字母。例如:www.tonysun.cc
(3)類名是一個(gè)名詞,采用大小寫混合的方式,每個(gè)單詞的首字母大寫。例如:Tony。
(4)接口的大小寫規(guī)則與類名相似:例如:Tony。
(5)方法名是一個(gè)動(dòng)詞或動(dòng)詞詞組,采用大小寫混合的方式,***個(gè)單詞的首字母小寫,其后單詞的首字母大寫。例如:setNeekeName(String neekeName)。
(6)變量名***個(gè)字母小寫,任何中間單詞的首字母大寫。變量名應(yīng)簡(jiǎn)短且可以顧名思義,易于記憶。例如:neekeName、neekeAddress。避免單個(gè)字符的變量名,除非是一次性的臨時(shí)變量。
(7)常量的聲明應(yīng)該全部大寫,每個(gè)單詞之間用“_”連接。例如:final String WWW_TONY_CN = "www.tonysun.cc";
2.注釋規(guī)范
(1)注釋盡可能使用“//”;對(duì)于所有的javadoc的注釋則使用“/** */”;而臨時(shí)對(duì)代碼塊進(jìn)行注釋盡量使用“/* */”。
(2)所有的源文件都應(yīng)該在開頭有一個(gè)注釋,其中列出文件名、日期和類的功能概述。
(3)每個(gè)方法必須添加文檔注釋(類的main()方法除外)。
(4)每個(gè)屬性必須添加注釋。
(5)代碼中至少包含15%的注釋。
(6)注釋使用中文。
3.縮進(jìn)排版規(guī)范
(1)避免一行的長(zhǎng)度超過(guò)60個(gè)字符。
(2)使用Eclipse的源代碼的格式化功能完成代碼的縮進(jìn)排版(Ctrl+Shift+F)。
4.文件名規(guī)范
(1)一個(gè)Java源文件只能存儲(chǔ)一個(gè)Java類。
(2)文件名與Java類名相同。
(3)一個(gè)類文件的代碼行不超過(guò)200行。
5.聲明規(guī)范
(1)一行聲明一個(gè)變量。
(2)不要將不同類型變量的聲明放在同一行。
(3)只在代碼塊的開始處聲明變量。
(4)所有的變量必須在聲明時(shí)初始化。
(5)避免聲明的局部變量覆蓋上一級(jí)聲明的變量。
(6)方法與方法之間以空行分隔。
6.語(yǔ)句規(guī)范
(1)每行至少包含一條簡(jiǎn)單語(yǔ)句。
(2)在return語(yǔ)句中,返回值不使用小括號(hào)“()”括起來(lái)。
(3)if語(yǔ)句總是用“{”和“}”括起來(lái)。
(4)在for語(yǔ)句的初始化或更新子句中,避免因使用三個(gè)以上變量,而導(dǎo)致復(fù)雜度提高。
(5)當(dāng)switch的一個(gè)case順著往下執(zhí)行時(shí)(因?yàn)闆]有break語(yǔ)句),通常應(yīng)在break語(yǔ)句的位置添加注釋。
7.編程規(guī)范
(1)提供對(duì)實(shí)例以及類變量的public或private訪問(wèn)控制,盡可能不適用默認(rèn)值或protected訪問(wèn)控制。
(2)避免用一個(gè)對(duì)象訪問(wèn)一個(gè)類的靜態(tài)變量或方法。應(yīng)該用類名代替。
(3)避免在一個(gè)語(yǔ)句中給多個(gè)變量賦相同的值。
(4)用switch()語(yǔ)句實(shí)現(xiàn)多路分支。
(5)如果使用JDBC,則考慮使用java.sql.PreparedStatement,而不是java.sql.Statement。
(6)用于設(shè)置對(duì)象狀態(tài)的方法前綴必須是set;用于檢索一個(gè)布爾類型對(duì)象狀態(tài)的方法前綴必須是is,而用于檢索其他方法前綴必須是get。
(7)程序中應(yīng)盡可能少使用數(shù)字(或字符),盡可能定義靜態(tài)變量來(lái)說(shuō)明該數(shù)字(或字符)的含義。程序中需要賦值或比較時(shí),使用前面定義的靜態(tài)變量。在循環(huán)控制中例外。
原文鏈接:http://tonysun3544.iteye.com/blog/1287903
【編輯推薦】