原文地址:http://www.jdon.com/jivejdon/thread/37355
千里之行,始于足下,千里之堤,毀于蟻穴,做好設(shè)計(jì)的第一步就是寫好你的代碼,博文8 Signs your code sucks總結(jié)了代碼中第一個(gè)感覺的臭味,讓你能夠于細(xì)微之處發(fā)現(xiàn)軟件的質(zhì)量問題。
1.方法內(nèi)代碼超過一個(gè)電腦屏幕: 一個(gè)方法只應(yīng)該執(zhí)行特定的任務(wù),一個(gè)方法不應(yīng)該包含一些這樣的邏輯,例如判斷用戶名字段包哈巴的數(shù)據(jù)是否有效,是否存在等。如果一個(gè)方法代碼大得超過一個(gè)屏幕,那么這是表明它做了太多的事情,需要切分。
2.你在重用變量: 除非你工作于嵌入式領(lǐng)域,否則內(nèi)存是便宜的,不要做內(nèi)存的守財(cái)奴,要注重可維護(hù)性。
3.你直接訪問request/session : 這和具體應(yīng)用服務(wù)器環(huán)境綁定,難于測(cè)試,所有應(yīng)用數(shù)據(jù)應(yīng)該直接解耦Session/request,保存到Bean中,通過 bean的 getters 和 setters方法, 創(chuàng)建使用者訪問數(shù)據(jù)的合約,這將大大幫助代碼的可維護(hù)性,個(gè)人補(bǔ)充,不要把類中的Collection字段直接通過Collection getCollection來暴露給外界,通過方法封裝對(duì)Collection的操作。
4.你需要使用注解來解釋代碼如何使用: 代碼應(yīng)該自己能夠解釋它如何使用,易于可讀,如果你發(fā)現(xiàn)你自己都需要注解專門解釋如何使用,那么就要重構(gòu)你的代碼。這里注解不是指javadoc等必要文檔。
5.一個(gè)exception系列錯(cuò)誤沒有返回最原始的錯(cuò)誤: 你不應(yīng)該吃掉exception錯(cuò)誤,在catch一個(gè)exception時(shí),要打印出其出錯(cuò)tack trace. 如果不知道錯(cuò)誤來源,如何糾正錯(cuò)誤呢?
6.你的代碼是一堆泥球: 代碼粘在一起,機(jī)會(huì)沒有分離分層,代碼應(yīng)該是模塊化,這樣易于維護(hù)和重用。 MVC是關(guān)注用戶View視圖界面發(fā)生的事情,控制器是關(guān)注程序流程和數(shù)據(jù)的校驗(yàn),而處理業(yè)務(wù)邏輯是領(lǐng)域模型的事情,只有模型可以和數(shù)據(jù)庫(kù)訪問直接進(jìn)行交互。
7.難于單元測(cè)試 如果你發(fā)現(xiàn)Bug,那么些一段新的代碼片段,它會(huì)花去你一些時(shí)間,但是這樣代碼就能處理更加復(fù)雜的事情了。
|
|
隨筆:8
文章:23
評(píng)論:45
引用:0
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
---|
31 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|
留言簿(5)
文章分類(25)
最新隨筆
搜索
積分與排名
最新評(píng)論

|
|