分享

[Sonar图解]

 bananarlily 2014-07-23

本文开始,将通过3篇幅的内容,详细介绍Sonar的一些主要指标,以便刚接触Sonar的同学参考学习。

本文为第 I 篇

 Sonar简介

简介是必须的,虽然大家可能都已经知道Sonar了,但还是做个简单的介绍吧。

Sonar是一个开源平台,用于管理Java源代码的质量(通过插件的方式,可以支持大部分主流语言)。从 Sonar 1.6 版本开始,Sonar从一个质量数据报告工具,转变成为现在的代码质量管理平台。

Sonar专注于从项目到类方法的持续的分析和测量技术质量,它把代码质量相关软件集成到一起统一管理。

Sonar是持续,自动地统计并分析软件项目的相关质量数据,例如单元测试的通过率,覆盖率,代码的复杂度,代码的行数等等,用于评估和度量软件项目质量。

主要特点:

  • 代码覆盖:通过单元测试,将会显示哪行代码被选中
  • 改善编码规则
  • 搜寻编码规则:按照名字,插件,激活级别和类别进行查询
  • 项目搜寻:按照项目的名字进行查询
  • 对比数据:比较同一张表中的任何测量的趋势

 指标介绍

图1 - 可定制化的项目首页

图2 - 项目基本信息

图3 - 标注含义

图4 - 复杂度

图5 - 复杂度例子

图6 - 代码违规信息

图7 - 使用规则信息

图8 - 包耦合与依赖切割

包耦合指数反映了包的耦合级别,最好的值为0%,意味着包之间没有圈依赖;最差的值为100%,意味着包与包之间的关系特别的复杂。

该指数计算方式:

2 * (package_tangles / package_edges_weight) * 100。

其中:

package_edges_weight = 包之间的文件依赖总数

package_tangles = 可以去除文件依赖的数量

本次图解就先介绍到这里,第 II 篇会介绍到覆盖率,时间轴,组件等内容。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多