常用掃描工具
-
PMD-CPD :Copy/Paste Detector (CPD) 代碼重複率檢測
-
PMD:分析 Java 源代碼,找出潛在的 bug
-
Findbugs :Java bug檢查
-
checkstyle : 固定團隊編碼風格,固定命名風格以及換行風格等
-
P3C: 阿里巴巴Java規範,這個是PMD掃描,但移除了PMD自帶的n條規則,只執行阿里的規則
-
Sonar Quabe: 一站式代碼質量審查平臺
-
JaCoCo(Java Code Coverage):Test coverage 代碼單元測試覆蓋率插件,例如可以配置全局行覆蓋和分支覆蓋。
JaCoCo包含了多種尺度的覆蓋率計數器,包含
指令級覆蓋(Instructions,C0coverage),
分支(Branches,C1coverage)、
圈複雜度(CyclomaticComplexity)、
行覆蓋(Lines)、
方法覆蓋(non-abstract methods)、
類覆蓋(classes) -
Fortify : Fortify SCA 安全掃描工具,用於檢測安全編碼規則,是一個靜態的、白盒的軟件源代碼安全測試工具
-
SourceMonitor : 度量代碼的圈複雜度
碼的環複雜度(Cyclomatic complexity,有時也翻譯成圈複雜度)是一種代碼複雜度的衡量標準, 計算公式。
代碼環複雜度 = E − N + 2
E = 程序控制流圖中邊的個數
N = 程序控制流圖中點的個數
很容易得出這樣的結論:代碼環複雜度越高,越容易出bug。