静态代码检查工具有哪些,你都知道吗?( 三 )

定义:代码质量管理工具Sonar提供了设计与架构度量 。Sonar 2.0引入了针对Java应用的设计分析、架构与面向对象的度量,Sonar 2.1可以检测到未使用的方法以及对不建议使用方法的调用 。是一个集成了CheckStyle、PMD、Findbugs的代码校验规则,重复代码发现,代码测试覆盖率,代码注释率,及所有的检测率变化追踪的完美代码质量检查工具 。它包含了代码质量检测的七个方面
特点:

  • 代码覆盖:通过单元测试,将会显示哪行代码被选中 。
  • 改善编码规则 。
  • 搜寻编码规则:按照名字,插件,激活级别和类别进行查询 。
  • 项目搜寻:按照项目的名字进行查询 。
  • 对比数据:比较同一张表中的任何测量的趋势 。
  • 单元测试
Sonar2.1:
  • Sonar还基于Squid引入了一个全新的规则引擎、Sonar解析器既可以处理源代码,也可以处理字节码,解析器带有内建的规则,可以检测未使用的私有与保护方法以及客户端对不建议使用的方法的调用 。Squid通过分析应用源代码、Java API和外部程序库的字节码来决定哪些方法、类和属性是不建议使用的 。
Sonar 2.1的新特性:
  • 一个全新的“Libraries”页面,显示了项目中所有的程序库和依赖,该特性要求使用Maven来构建项目 。一旦在Sonar站点的主页上选择了一个项目,该服务就会以可视化的树形结构展示出项目依赖 。此外,还有一个可选的动态过滤器,可以根据名称过滤程序库以便在应用的依赖间导航 。
  • 用于搜索程序库使用情况的“Dependencies”页面 。比如说,可以搜索到使用了第三方框架如Commons Logging 1.1的所有项目 。
  • 可以使用各种插件扩展Sonar的功能 。现在有一个全新的“System Info”页面显示了系统属性、已装插件和Java虚拟机内存统计信息 。该页面还给出了关于Sonar配置和数据库统计的详细信息 。
  • 一个用于管理已装插件和系统信息的管理控制台 。最新版的Sonar为这些插件引入了一个测试框架和一个客户化的Maven生命周期管理工具 。它还带有一个用于集成项目事件的Web Service并在项目的size widget中增加了一个新的度量模块 。
7、JDependJDepend一个开放源代码的可以用来评价Java程序质量的优秀工具,它遍历Java class的文件目录,以Java包(package)为单位,为每一个包/类自动生成 包的依赖程度,稳定性,可靠度等的评价报告,根据这些报告,我们可以得到包或类之间的依赖关系,并分析出包的稳定程度,抽象程度,是否存在循环依耐关系等。可以根据JDepend给出的报告数据,分析出我们的包是否是可靠的,稳定的,健壮的包,是否符合面向对象的设计原则 。
特点:
  • 评价设计质量
  • 翻转依赖性
  • 支持并行开发和极限编程
  • 独立的发布模块
  • 识别package的循环依赖
Depend生成的Java包的质量评价报告主要包括: