類(lèi)的成員變量定義
大部分類(lèi)的成員變量應該定義為protected來(lái)防止繼承類(lèi)使用他們。
數組標識
要用"int[]packets",而不是"intpackets[]",后一種永遠也不要用。
成員變量與函數內局部變量用this
publicvoidsetPackets(int[]packets){this.packets=packets;}//一般函數
CounterSet(intsize){this.size=size;}//構造函數
可讀性
避免使用不易理解的數字,用有意義的標識來(lái)替代。不要使用難懂的技巧性很高的語(yǔ)句。
源程序中關(guān)系較為緊密的代碼應盡可能相鄰。
可移植性
BorlandJbulider不喜歡synchronized這個(gè)關(guān)鍵字,如果你的斷點(diǎn)設在這些關(guān)鍵字的作用域內的話(huà),調試的時(shí)候你會(huì )發(fā)現的斷點(diǎn)會(huì )到處亂跳,讓你不知所措。除非必須,盡量不要使用。
換行
如果要換行的話(huà),盡量用println來(lái)代替在字符串中使用"\n"。
你不要這樣:
要這樣:
或者構造一個(gè)帶換行符的字符串,至少要象這樣:
Stringnewline=System.getProperty("line.separator");
System.out.print("Helloworld"+newline);
PrintStream
PrintStream已經(jīng)被不贊成(deprecated)使用,用PrintWrite來(lái)代替她。
排版規范
關(guān)鍵詞和操作符之間加適當的空格。
相對獨立的程序塊與塊之間加空行。
較長(cháng)的語(yǔ)句、表達式等要分成多行書(shū)寫(xiě)。
劃分出的新行要進(jìn)行適應的縮進(jìn),使排版整齊,語(yǔ)句可讀。
長(cháng)表達式要在低優(yōu)先級操作符處劃分新行,操作符放在新行之首。
循環(huán)、判斷等語(yǔ)句中若有較長(cháng)的表達式或語(yǔ)句,則要進(jìn)行適應的劃分。
若函數或過(guò)程中的參數較長(cháng),則要進(jìn)行適當的劃分。
不允許把多個(gè)短語(yǔ)句寫(xiě)在一行中,即一行只寫(xiě)一條語(yǔ)句。
函數或過(guò)程的開(kāi)始、結構的定義及循環(huán)、判斷等語(yǔ)句中的代碼都要采用縮進(jìn)風(fēng)格。
編寫(xiě)程序塊時(shí)‘{’和‘}’應各獨占一行并且位于同一列,同時(shí)與引用它們的語(yǔ)句左對齊。在函數體的開(kāi)始、類(lèi)的定義、結構的定義、枚舉的定義以及if、for、do、while、switch、case語(yǔ)句中的程序都要采用如上的縮進(jìn)方式。
性能
在寫(xiě)代碼的時(shí)候,從頭至尾都應該考慮性能問(wèn)題。這不是說(shuō)時(shí)間都應該浪費在優(yōu)化代碼上,而是我們時(shí)刻應該提醒自己要注意代碼的效率。比如:如果沒(méi)有時(shí)間來(lái)實(shí)現一個(gè)高效的算法,那么我們應該在文檔中記錄下來(lái),以便在以后有空的時(shí)候再來(lái)實(shí)現她。
不是所有的人都同意在寫(xiě)代碼的時(shí)候應該優(yōu)化性能這個(gè)觀(guān)點(diǎn)的,他們認為性能優(yōu)化的問(wèn)題應該在項目的后期再去考慮,也就是在程序的輪廓已經(jīng)實(shí)現了以后。
不要在循環(huán)中構造和釋放對象
使用StringBuffer對象
在處理String的時(shí)候要盡量使用StringBuffer類(lèi),StringBuffer類(lèi)是構成String類(lèi)的基礎。String類(lèi)將StringBuffer類(lèi)封裝了起來(lái),(以花費更多時(shí)間為代價(jià))為開(kāi)發(fā)人員提供了一個(gè)安全的接口。當我們在構造字符串的時(shí)候,我們應該用StringBuffer來(lái)實(shí)現大部分的工作,當工作完成后將StringBuffer對象再轉換為需要的String對象。比如:如果有一個(gè)字符串必須不斷地在其后添加許多字符來(lái)完成構造,那么我們應該使用StringBuffer對象和她的append()方法。如果我們用String對象代替StringBuffer對象的話(huà),會(huì )花費許多不必要的創(chuàng )建和釋放對象的CPU時(shí)間。
避免太多或不必要的使用synchronized關(guān)鍵字
,應該在必要的時(shí)候再使用她,這是個(gè)避免死鎖的好方法。
代碼測試、維護
1.單元測試要求至少達到語(yǔ)句覆蓋。
2.單元測試開(kāi)始要跟蹤每一條語(yǔ)句,并觀(guān)察數據流及變量的變化。
3.清理、整理或優(yōu)化后的代碼要經(jīng)過(guò)審查及測試。
4.代碼版本升級要經(jīng)過(guò)嚴格測試。
聯(lián)系客服