天天看點

編寫高品質的 Java 代碼

代碼品質概述

代碼品質所涉及的5個方面,編碼标準、代碼重複、代碼覆寫率、依賴項分析、複雜度分析。這5方面很大程式上決定了一份代碼的品質高低。

我們分别來看一下這5方面:

編碼标準:這個想必都很清楚,每個公司幾乎都有一份編碼規範,類命名、包命名、代碼風格之類的東西都屬于其中。

代碼重複:顧名思義就是重複的代碼,如果你的代碼中有大量的重複代碼,你就要考慮是否将重複的代碼提取出來,封裝成一個公共的方法或者元件。

代碼覆寫率:測試代碼能運作到的代碼比率,你的代碼經過了單元測試了嗎?是不是每個方法都進行了測試,代碼覆寫率是多少?這關系到你的代碼的功能性和穩定性。

依賴項分析:你的代碼依賴關系怎麼樣?耦合關系怎麼樣?是否有循環依賴?是否符合高内聚低耦合的原則?通過依賴項分析可以辨識一二。

複雜度分析:以前有人寫的程式嵌套了10層 if else你信嗎?圈複雜度之高,讓人難以閱讀。通過複雜度分析可以揪出這些代碼,要相信越優秀的代碼,越容易讀懂。

上面解釋了代碼品質相關的5個方面,在實際開發環境中,已經有很多工具為我們解決以上5個方面的問題,下列5個eclipse插件分别對這5個問題有很好的支援:

編碼标準:CheckStyle 插件URL:http://eclipse-cs.sourceforge.net/update/

代碼重複:PMD的CPD 插件URL:http://pmd.sourceforge.net/eclipse/

代碼覆寫率:Eclemma 插件URL:http://update.eclemma.org

依賴項分析:JDepend 插件URL:http://andrei.gmxhome.de/eclipse/

複雜度分析:Eclipse Metric 插件URL:http://metrics.sourceforge.net/update

追求代碼品質: 軟體架構的代碼品質

http://www.ibm.com/developerworks/cn/java/j-cq04256/

JDepend

http://www.clarkware.com/software/JDepend.html

PMD

http://pmd.sourceforge.net/

CheckStyle

http://sourceforge.net/projects/eclipse-cs/?source=directory

Eclemma

http://www.eclemma.org/

Metrics

http://metrics.codahale.com/

繼續閱讀