你不知道的Eclipse用法:使用JDepend 进行依赖项检查
2013-07-01 09:31
357 查看
JDepend 是个可免费获取的开源工具,它为包依赖项提供面向对象的度量值,以此指明代码库的弹性。换句话说,JDepend 可有效测量一个架构的健壮性(反之,脆弱性)。
在Eclipse中安装和使用JDepend 步骤
Elipse中安装JDepend插件
打开Help->Install new Software,点击Add,添加Repository。Name: JDepend,Location: http://andrei.gmxhome.de/eclipse/。
点击OK。选择相应的版本插件,继续随后的安装
使用JDepend分析源代码
选择源代码(如不选择则没有选项)->右键->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:被引用的包
在Eclipse中安装和使用JDepend 步骤
Elipse中安装JDepend插件
打开Help->Install new Software,点击Add,添加Repository。Name: JDepend,Location: http://andrei.gmxhome.de/eclipse/。
点击OK。选择相应的版本插件,继续随后的安装
使用JDepend分析源代码
选择源代码(如不选择则没有选项)->右键->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:被引用的包
相关文章推荐
- eclipse 使用JDepend 进行依赖项检查
- 使用LDD脚本进行Arcsde依赖包的检查
- 你不知道的Eclipse的用法:使用MAT分析Android的内存
- 你不知道的Eclipse用法:使用CheckStyle实施编码标准
- 你不知道的Eclipse用法:使用Metrics 测量复杂度
- 你不知道的Eclipse用法:使用Allocation tracker跟踪Android应用内存分配
- 你不知道的Eclipse的用法:使用MAT分析Android的内存
- 你不知道的Eclipse用法:使用Javadoc导出项目的API文档
- 你不知道的Eclipse用法:使用findBugs预先检测错误
- 你不知道的Eclipse用法:使用Allocation tracker跟踪Android应用内存分配
- 你不知道的Eclipse用法:使用PMD预先检测错误
- 你不知道的Eclipse用法:使用Heap检测和分析Android应用内存
- 你不知道的Eclipse用法:使用Javadoc导出项目的API文档
- 使用Spring2.0的annotation方式进行依赖注入检查
- 你不知道的Eclipse的用法:使用Eclipse查看Android源码
- Eclipse中使用Subversion进行版本控制
- 在Eclipse中使用JUnit4进行单元测试(初级篇)
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- 使用eclipse+Struts Studio 怎样进行程序调试
- 使用 Eclipse 平台进行调试