1. FindBugs:一个能静态分析源代码中可能会出现Bug的Eclipse插件工具。
2. JDepend4Eclipse:评价Java程序质量,遍历Java class的文件目录,以Java包(package)为单位,为每一个包/类自动生成包的依赖程度,稳定性,可靠度等的评价报告。
-----------------------------------------------------------------------------------------------------------------------------------------------
1. FindBugs
安装FindBugs:Help => Eclipse Marketplace... => 输入"FindBugs"查找,按要求安装。
用法:在项目上右键 => FindBugs => FindBugs
1.1 FindBugs 查找项目Bugs
点击后会把查找出的bug标注在项目中的具体类上,如下图。
1.2 Clear Bug Markers 清除已经查找出来的Bugs标记
运行过后,标记清除,如下图
1.3 Save XML 把找到的Bugs生成为XML格式的报告
1.4 Open Analysis Results in Editor 把XML报告在Eclipse中打开
1.5 Load XML 加载XML格式的报告,在Eclpse中显示Markers(如果没有Markers的话),已经有的话不会再显示了。
-----------------------------------------------------------------------------------------------------------------------------------------------
2. JDepend4Eclipse
安装JDepend4Eclipse:选第一个,Install。
用法:选中src => 右键 => Run JDepend Analysis
然后跳转到查看评估报告的页面:
(公司包名含敏感信息,已隐去,见谅)
Selected object(s):选择分析的包
Number of Classes (Cc):被分析package的具体和抽象类(和接口)的数量,用于衡量package的可扩展性。
Afferent Couplings (Ca):依赖于被分析package的其他package的数量,用于衡量pacakge的职责。即有多少包调用了它。
Efferent Couplings (Ce): 被分析package的类所依赖的其他package的数量,用于衡量package的独立性。即它调用了多少其他包。
Abstractness (A): 被分析package中的抽象类和接口与所在package所有类数量的比例,取值范围为0-1。
Instability (I): I=Ce/(Ce+Ca),用于衡量package的不稳定性,取值范围为0-1。I=0表示最稳定,I=1表示最不稳定。即如果这个类不调用任何其他包,则它是最稳定的。
Distance (D): 分析package和理想曲线A+I=1的垂直距离,用于衡量package在稳定性和抽象性之间的平衡。
理想的package要么完全是抽象类和稳定(x=0,y=1),要么完全是具体类和不稳定(x=1,y=0)。取值范围为0-1,
D=0表示完全符合理想标准,
D=1表示package最大程度地偏离了理想标准。即你的包要么全是接口,不调用任何其他包(完全是抽象类和稳定),要么是具体类,不被任何其他包调用。
Package with cycle:
Depends upon-efferent dependencies:依赖的包
Used by-afferent dependencies:被引用的包
-----------------------------------------------------------------------------------------------------------------------------------------------