版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
,,,,,
,CodeReviewCheckList-Java,,,
,序號,分類,檢查項,備注
,1,定義,每個Java文件只包含一個public類或者接口,
,2,,第一行非注釋的語句應(yīng)該為一個package語句(如果存在的話).之后應(yīng)該是import語句,
,3,布局,"一行不要超過120個字符,源代碼一般不會超過這個寬度,并導(dǎo)致無法完整顯示,但這一設(shè)置也可以靈活調(diào)整。在任何情況下,超長的語句應(yīng)該在一個逗號或者一個操作符后折行。一條語句折行后,應(yīng)該比原來的語句再縮進(jìn)4個字符。",
,4,,"一個表達(dá)式不能被放在一行中時,將它分成多行例如:
foo(long_expression1,long_expression2,
long_expression3);",
,5,,函數(shù)代碼行數(shù)的限制:200行,
,6,,"左括號和后一個字符之間不應(yīng)該出現(xiàn)空格,同樣,右括號和前一個字符之間也不應(yīng)該出現(xiàn)空格。不要在語句中使用無意義的括號.括號只應(yīng)該為達(dá)到某種目的而出現(xiàn)在源代碼中。下面的例子說明錯誤和正確的用法:
if((i)=42)//錯誤-括號毫無意義
if(i==42)//正確-的確需要括號
",
,7,注釋,"所有的Java文件都應(yīng)該在類定義前編寫類注釋,注釋包括了類名,版本,日期和版權(quán)提示",
,8,,比較復(fù)雜的代碼段需要描述它的實現(xiàn)原理,且不要以直接翻譯代碼的形式描述。,
,9,,"恰當(dāng)?shù)氖褂盟姆N樣式的實現(xiàn)注釋:塊,單行,尾,和行尾注釋
例如:
塊注釋
/*
*Thisisablockcomment.
*Eachlineisprecededbyanasterisks.
*/
單行注釋
if(condition){
/*Shortdescriptionaboutthefollowingstatments*/
statements;
}
尾注釋
if(condition){
stateme;//注釋",
,10,,"每個聲明應(yīng)該單獨(dú)占一行并必須由一個尾注釋.使用tabs分隔開來數(shù)據(jù)類型,標(biāo)識符,和注釋字段例如:
intlevel;//indentationlevel
intsize;//sizeoftable
ObjectcurrentEntry;//currentlyselectedtableentry",
,11,命名慣例,"類名要簡單準(zhǔn)確.避免使用不易理解的縮寫詞和縮寫符,由名詞組成,每個單詞的第一個字母大寫,例如:StringBuffer,Vector。
建議在某寫特定類型的類名后加上該類型的說明,以便讓類的使用者一目了然。
例如:Applet——UnitDetachApplet
Servlet——UnitDetachServlet
Dialog——CardAssQueryDialog
",
,12,,接口名使用與類名一樣的單詞首字母大寫規(guī)則,
,13,,"方法名應(yīng)該為動詞或動詞短語,使用多個單詞場合的時候第一個單詞的第一個字母小寫,其他單詞的第一個字母大寫.例:
run();isUpperCase();getBackground();findTotalCost(intYears);",
,14,,"參數(shù)的名字必須和變量的命名規(guī)范一致。使用有意義的參數(shù)命名,如果可能的話,使用和要賦值的字段一樣的名字。例如:
publicvoidsetCounter(intsize)
{
this.size=size;
}
",
,15,,staticfinal基本類型常量名中的所有字母都應(yīng)該大寫(這樣便可標(biāo)志出它們屬于編譯期的常數(shù))。,
,16,,變量名的大小寫規(guī)則與方法名的大小寫規(guī)則相同,變量名應(yīng)該充分的反映出所定義變量的意義,由名詞組成,
,17,,"包的名字應(yīng)該都是由小寫單詞組成。它們?nèi)际切懽帜?,即便中間的單詞亦是如此。對于域名擴(kuò)展名稱,如com,org,net或者edu等,全部都應(yīng)小寫。
例如:packagecom.neusoft.unieap.ui;
包名必須能概括包內(nèi)所有成員類的共有特性。
建議:在多級包名中,下級包名不要重復(fù)包含上級包名的含義。
例如:有這樣一個包:com.neusoft.elarp.business.alteration.employeealteration,它的命名就不是十分合理,因為在三級包名中已經(jīng)聲明了alteration,所以在四級包名中就沒有必要重復(fù)定義它。合理的定義應(yīng)為com.neusoft.elarp.business.alteration.employee,這與多重路徑的命名規(guī)則是一樣的。
",
,18,編碼規(guī)則,禁止用一條語句對幾個變量賦值,
,19,,對于復(fù)雜的表達(dá)式使用圓括號表示它們之間的邏輯關(guān)系,
,20,,"boolean類型之間的變量或表達(dá)式禁止進(jìn)行比較,例如:
錯誤:if(返回boolean類型的表達(dá)式==true)
正確:if(返回boolean類型的表達(dá)式)",
,21,,"import中禁止引入*的形式
保證所有引入的類都被使用。原因:如果不引入確切的類將很難理解當(dāng)前類的上下文關(guān)系及其相關(guān)性。
",
,22,,異常的捕獲形式:將連續(xù)的小的“try-catch”塊合并到一起。由于這些塊將代碼分割成小的、各自獨(dú)立的片斷,所以會妨礙編譯器進(jìn)行優(yōu)化。但是,若過份熱衷于刪除異常處理模塊,也可能造成代碼健壯程度的下降,所以在合并的同時需要考慮程序的穩(wěn)定性。,
,23,,"運(yùn)算語句的性能優(yōu)化:見下表(標(biāo)準(zhǔn)時間=語句執(zhí)行時間/本地賦值時間)
運(yùn)算示例標(biāo)準(zhǔn)時間
本地賦值i=n;1.0
實例賦值this.i=n;1.2
int增值i++;1.5
byte增值b++;2.0
short增值s++;2.0
float增值f++;2.0
double增值d++;2.0
空循環(huán)while(true)n++;2.0
三元表達(dá)式(x<0)?-x:x;2.2
算術(shù)調(diào)用Math.abs(x);2.5
數(shù)組賦值a[0]=n;2.7
Long增值l++;3.5
方法調(diào)用funct();5.9
Throw或者catch違例try{throwe;}320
同步方法調(diào)用synchMethod();570
新建對象newObject();980
新建數(shù)組newint[10];3100
",
,24,,"線程的使用:
1防止過多的同步
不必要的同步常常會造成程序性能的下降。因此,如果程序是單線程,則一定不要使用同步。
2避免同步整個代碼段
對某個方法或函數(shù)進(jìn)行同步比對整個代碼段進(jìn)行同步的性能要好。因為代碼段的同步牽涉的范圍比對某個方法或函數(shù)進(jìn)行同步廣。
3對每個對象使用多”鎖”的機(jī)制來增大并發(fā)
一般每個對象都只有一個”鎖”,這就表明如果兩個線程執(zhí)行一個對象的兩個不同的同步方法時,會發(fā)生”死鎖”。即使這兩個方法并不共享任何資源。為了避免這個問題,可以對一個對象實行”多鎖”的機(jī)制。
",
,25,,"break:
遍歷數(shù)組、向量或者樹結(jié)構(gòu)時,如果滿足條件的元素找到,一定要使用break語句退出循環(huán)。
",
,26,,"循環(huán)體內(nèi)避免構(gòu)建新對象:
如果在循環(huán)體內(nèi)用到新對象,需要在循環(huán)體開始以前構(gòu)建好該對象。由標(biāo)準(zhǔn)時間表可以看出構(gòu)建對象有很大的系統(tǒng)消耗,并且在一次循環(huán)中還要清除掉該對象,下次循環(huán)再重新構(gòu)建。",
,27,,數(shù)據(jù)庫連接、數(shù)據(jù)庫事務(wù)對象、輸入輸出流在使用后一定要關(guān)閉。,
,28,,異常的處理要全面,不要將影響到業(yè)務(wù)操作的異常拋給容器來處理。,
,29,,"靜態(tài)方法的使用:
錯誤:
XXXFactoryf=newXXXFactory();
f.getXXX();
正確:
XXXFactory.getXXX();",
,30,,"循環(huán)語句的使用:
錯誤:
for(inti=0;i<list.size();i++),list.si
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國輻射加工產(chǎn)業(yè)發(fā)展現(xiàn)狀規(guī)劃研究報告
- 2025-2030年中國調(diào)味料行業(yè)發(fā)展前景調(diào)研與投資策略分析報告新版
- 2025-2030年中國血液制品(血制品)行業(yè)運(yùn)行狀況及前景趨勢分析報告
- 2025-2030年中國繭絲綢行業(yè)競爭格局及前景趨勢分析報告
- 2025-2030年中國節(jié)電行業(yè)市場發(fā)展趨勢規(guī)劃研究報告
- 2025-2030年中國腐乳行業(yè)市場發(fā)展?fàn)顩r及投資前景規(guī)劃研究報告
- 2025-2030年中國磁選機(jī)市場競爭格局及前景趨勢預(yù)測報告
- 2025-2030年中國石油機(jī)械市場發(fā)展動態(tài)及投資前景預(yù)測報告新版
- 2025-2030年中國畜禽養(yǎng)殖業(yè)發(fā)展?fàn)顩r與投資戰(zhàn)略研究報告新版
- 舞蹈課家長會
- 2024年內(nèi)蒙古包頭市中考道德與法治試卷
- 湖南省長沙市2024-2025學(xué)年高二上學(xué)期期中考試地理試卷(含答案)
- 自來水質(zhì)量提升技術(shù)方案
- 金色簡約蛇年年終總結(jié)匯報模板
- 農(nóng)用地土壤環(huán)境質(zhì)量類別劃分技術(shù)指南(試行)(環(huán)辦土壤2017第97號)
- 反向開票政策解讀課件
- 工程周工作計劃
- 房地產(chǎn)銷售任務(wù)及激勵制度
- 六年級語文下冊14文言文二則《學(xué)弈》課件
- 2024年內(nèi)蒙古中考語文試卷五套合卷附答案
評論
0/150
提交評論