Posted on 2009-07-28 19:43
kangaroo 閱讀(398)
評(píng)論(0) 編輯 收藏 所屬分類(lèi):
programmer
程序員專(zhuān)業(yè)不專(zhuān)業(yè),看看你的代碼就很容易分辨出來(lái),如何培養(yǎng)自己專(zhuān)業(yè)的java編碼習(xí)慣,在經(jīng)歷了一個(gè)項(xiàng)目?jī)蓚€(gè)月的開(kāi)發(fā),稍微總結(jié)一下:
1. 爭(zhēng)取先寫(xiě)注釋?zhuān)髮?xiě)代碼。這樣做的好處,一、你的代碼注釋非常規(guī)范;二、測(cè)試查看時(shí)會(huì)比較容易看懂里面的邏輯;三、代碼review時(shí)很容易發(fā)現(xiàn)邏輯的錯(cuò)誤;四、思考業(yè)務(wù)邏輯和思考代碼開(kāi)發(fā)解耦,專(zhuān)注于一點(diǎn)。
2. 代碼的模塊化。不要有超過(guò)200行的方法。
3. 避免if...else if... else if ... else...。用if... if... if...,如果是int,short,chart,byte,Enum就可以用switch。
4. 如果你的方法返回一個(gè)list,最好不要返回一個(gè)Null,可以返回一個(gè)空的list。
5. web層不能直接dao對(duì)象調(diào)用數(shù)據(jù)庫(kù),可以在你的biz層包裝數(shù)據(jù)庫(kù)操作類(lèi)。
6. biz層不返回do對(duì)象,返回一個(gè)類(lèi):***Info
7. 遠(yuǎn)程服務(wù)層不要返回一個(gè)太細(xì)粒度的數(shù)據(jù),如String。應(yīng)該考慮到其他別的地方也會(huì)使用這個(gè)服務(wù)層,所以返回一個(gè)包含較全信息的類(lèi),比較合理。
8. 注釋里,可以用<ul><li></li>...</ul>這樣的標(biāo)簽,可以使你的注釋看起來(lái)很規(guī)范。
9. 對(duì)于有特殊業(yè)務(wù)處理的程序代碼,一定要有詳細(xì)的說(shuō)明,以便自己和別人下次review時(shí)一目了然。
10. 每次if判斷,最好加上注釋。如果你先寫(xiě)注釋?zhuān)髮?xiě)代碼,這條肯定就做到了。
11. 如果你寫(xiě)的是一個(gè)公用的方法,如biz的一個(gè)方法,為了確保你的程序在自己的方法里不出問(wèn)題,要做到:檢驗(yàn)輸入是否符合規(guī)則,詳細(xì)聲明和注釋輸出的幾種結(jié)果。
12. 判斷等或不等時(shí),常量在前,被判別的在后,可以避免一些nullpointexception的異常。
13. 打日志:當(dāng)程序做一個(gè)遠(yuǎn)程、數(shù)據(jù)庫(kù)、關(guān)鍵動(dòng)作之前,最后先debug一下,判斷異常時(shí),error再把異常打印出來(lái)。
14. Helper幫助類(lèi)因?yàn)閷傩灾杏玫胶枚鄤e的需要注入的類(lèi),所以最好以把它弄成接口發(fā)布的方式。
15. Util因?yàn)橹皇枪ぞ哳?lèi),所以都是靜態(tài)的方法。
16. 深入體會(huì)領(lǐng)域模型。web->模型->biz->DO->數(shù)據(jù)庫(kù)