JAVA EE Code Quality / Sonar / findbugs / checkstyle / cobertura(coverage) / PMD
在使用sonar服務前,請先登入git.oschina.net(開源中國程式碼託管網站,以下簡稱git),請依據如下步驟操作
1.選擇自己的專案XXX,進入"質量分析"選單,點選"開始分析XXX程式碼",XXX專案進入sonar程式碼分析流程
2.當程式碼分析流程結束(大約1到2分鐘),git會提示您專案的程式碼分析結果
3.若分析失敗會給出提示資訊,並提示失敗原因
4.若分析成功, git將會顯示sonar平臺程式碼質量分析概要,點選相關概要連結,可檢視具體分析詳情
靜態檢查工具CheckStyle、PMD、FindBugs
重複程式碼檢查PMD-CPD、Simian
圈複雜度分析工具SourceMonitor、JavaNCSS
程式碼設計質量分析JDepend
常用Java程式碼質量檢測評估工具
http://zihai367.iteye.com/blog/2305793
1. PMD from
PMD能夠掃描Java 原始碼,查詢類似以下的潛在問題:
可能的bug——try/catch/finally/switch語句中返回空值。
死程式碼——未使用的區域性變數、引數、私有方法。
不理想的程式碼——使用String/StringBuffer。
過於複雜的表示式——沒有必要使用if語句、while迴圈可以代替for迴圈。
重複程式碼——複製/貼上的程式碼引發的bug。
PMD整合了JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide, NetBeans/Sun Java Studio Enterprise/Creator, IntelliJ IDEA, TextPad, Maven, Ant, Gel, JCreator, 以及 Emacs。
2. FindBug from
FindBug是一個使用靜態方法來查詢Java程式碼漏洞的程式。
3.Clover from
這個外掛允許你在不離開IDE的環境條件下來衡量和檢測覆蓋效果。該外掛通過使用Apache Ant、Maven來無縫整合其它專案,可以通過命令列介面和API系統輕鬆整合到傳統的構建系統中。
該外掛的特性:
支援快速、準確、可配置的方法,語句等。
支援豐富的報告格式:HTML、PDF、XML、以及Swing GUI。
精確控制原始碼級別的過濾。
支援程式碼覆蓋以及其它指標的圖表。
完全相容JUnit 3.x & 4.x, TestNG, JTiger以及其它的測試框架。
4. Macker from
Macker是一個適用於Java開發人員用來檢查架構規則的工具。你可以定製一個適合特定專案架構的規則檔案,也可以為您的程式碼撰寫通用的規則說明。
5. EMMA from
EMMA支援的覆蓋型別:方法、類等。
輸出報告的格式為:文字、HTML、XML。
輸出報告可以高亮顯示某些專案。
EMMA不需要訪問原始碼,可以在輸入類中減少除錯的資訊。
6. XRadar from
XRadar是一個開放的、為程式碼生成可擴充套件報告的工具。目前支援基於Java的所有系統。批量處理的框架可以用來生成HTML/SVG系統的報告。Xradar可以估量程式碼的大小、複雜性以及程式碼的重複性、依賴性等。
7. Hammurapi from
Hammurapi是一款執行Java程式程式碼的自動檢測工具。提供的例項中含有282條Hammurapi程式碼規則,提供了120多個Java類,這款所謂的檢測工具,可以從三個級別來檢測程式碼是否違背了編碼標準。
8. Relief from
Relif是一款設計工具,為Java專案提供了嶄新的面貌。我們可以充分發揮自己的能力來處理真實的例項——通過檢測大小、形狀、關係等來簡化處理過程。
9. Hudson from
Hudson 是一個持續整合工具,使用Java編寫,執行在servlet容器中,比如Apache Tomcat或者或GlassFish應用伺服器。它支援SCM工具,包括CVS、Subversion、Git和ClearCase。它可以執行Apache Ant、基於Apache Maven的專案、以及任意的shell指令碼和 Windows批處理命令。
10. Cobertura from
Cobertura是一個免費的基於jcoverage的Java工具,用於計算程式碼被測試訪問的百分比,它可以被用來確定Java程式中的缺少部分的測試覆蓋率。
11. SonarSource from
Sonar是一個管理程式碼質量的開放平臺。因此,它涵蓋了程式碼質量的7個方面:架構與設計、重複、單元測試、複雜性、潛在錯誤、編碼規則、評論。
英文原文:
Java程式碼質量檢測評估工具
“五大” 程式碼分析領域:
* 編碼風格
* 冗餘程式碼
* 程式碼覆蓋率
* 依賴項分析
* 複雜度監控
一下列舉了一些目前比較流行的工具。網址後面列出了其PR值,可以反映此工具的流行度。
1、編碼風格
CheckStyle
Home page: (6)
對應的eclipse外掛有多個,其中eclipsecs最常用
Home page: (6)
eclipse外掛URL:
2、冗餘程式碼
Simian (5)
PMD 的 CPD (5)
3、程式碼覆蓋率
EMMA (6)
Cobertura (6)
EclEmma (5)
Coverlipse (3)
4、依賴項分析
JDepend (6)
5、複雜度監控
Metrics (4)
具有以上兩項或兩項以上的綜合工具(也稱為靜態分析工具):
1、PMD
Home page: (6)
eclipse外掛URL:eclipse
2、FindBugs (6)
eclipse外掛URL:
FindBugs 檢查程式生成的class檔案,即分析位元組碼
PMD 檢查原始碼,分析原始碼
3、Jtest
4、Jlint (5)
5、Lint4j (4)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31495967/viewspace-2893157/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在 Github Action 管道內整合 Code Coverage ReportGithub
- java靜態程式碼檢測-pmdJava
- Java SE, Java EE, Java MEJava
- java EE 8u1 SDK 包和 java EE 8 API 文件包JavaAPI
- FindBugs質量管理
- idea關閉coverageIdea
- Java EE 8主要功能Java
- JAVA EE 第一週作業Java
- Jakarta EE:雲原生Java的新平臺Java
- Java EE的斷路器API設計JavaAPI
- 甲骨文真的要開放Java EE?Java
- Java EE--框架篇(3-1)MybatisJava框架MyBatis
- SAP QM Cost of Quality Inspection
- Quality Inspection in drop shipment process
- Stability Study with SAP Quality Management
- sonar(二)掃描配置
- 測試覆蓋率 之 Cobertura的使用
- 好程式設計師Java培訓分享Java EE與Java的區別程式設計師Java
- Chapter 2. Video Formats and QualityAPTIDEORM
- 影像篡改資料集COVERAGE分享 002
- 【Java EE】從零開始寫專案【總結】Java
- java EE開發之Servlet第五課:xml解析JavaServletXML
- Sonar程式碼質量管理
- sonar常見問題分析
- sonar android上的實踐Android
- Java on Visual Studio Code的更新Java
- 如何分析Sonar常見問題?
- Java語言編碼規範(Java Code Conventions)Java
- Java on Visual Studio Code 3月更新Java
- Java on Visual Studio Code 2月更新Java
- 10月更新 | Java on Visual Studio CodeJava
- 6月更新 | Java on Visual Studio CodeJava
- Java on Visual Studio Code 4月更新Java
- Caused by: java.lang.ClassNotFoundException: javax.management.j2ee.statistics.StatsJavaException
- java EE開發之Servlet第四課:監聽器(Listener)JavaServlet
- java EE開發之Servlet第八課:MVC模式 (基本理解)JavaServletMVC模式
- SAP QM Quality Notification的憑證流
- SonarQube 的 Quality Gate 是指什麼?