分享

[Sonar图解]

 bananarlily 2014-07-23

本文为Sonar指标介绍的第 II 篇

查看第 I 篇介绍:[Sonar图解]-Sonar指标介绍I

    图9 - 代码覆盖率及测试成功率

提供行覆盖、分支覆盖的具体数据。例:

Line Coverage:

100行代码,有95行被测到,就算95%

Branch coverage:

if - elseif – else

若只測到if內的code就只有33%,

若測到 if - elseif 就是66%,

若if - elseif - else全測到就是100%

覆盖率计算公式:

Coverage = (CT + CF + LC)/(2*B + EL)

其中:

CT -- 条件至少一次为“true”的分支

CF -- 条件至少一次为“false”的分支

LC -- 覆盖的行数(lines_to_cover - uncovered_lines)

B   -- 分支的总数量(2*B = conditions_to_cover)

EL – 可执行代码的总行数 (lines_to_cover)

    图10 - 热点信息

展示了整个工程包括违规、复杂度在内的具体信息

Most violated rules : 被违反最多的规则
Hotspots by Unit tests duration : 单元测试时间
Hotspots by Complexity : 复杂度
Hotspots by Duplicated lines : 重复行
Most violated resources : 违反规则最多的资源
Hotspots by Uncovered lines : 未被覆盖的代码行
Hotspots by Complexity /method : 方法复杂度
Hotspots by Public undocumented API : 没有文档注释的API

    图11 - 时间轴[Time Machine]

展示不同时间各项指标的值,相同的指标以直线的形式展示出来,能更直观的表现该指标的走势

    图12 - 组件

    图13 - 组件[板块图]

板块图是由一系列具有不同颜色的矩形框组成,可以反映一个具有树形层次结构关系的多维数据集信息。

一般而言,矩形的面积大小代表一个绝对变量,矩形的颜色深浅代表另外一个相对变量(或分类变量),矩形按层次关系进行组合和排序。板块图并不强调对数据的精确比较,而是以一种全局视野的眼光,从绝对量、相对量、数据层次中发现特殊的信息,因为我们的眼睛会自然注意到最大的矩形和最深的颜色。

    图14 - 违规信息钻取[Violations Drilldown]

上部分用于选择违规程度以及违规类型,下部分表示相应项目模块的具体类违规明细,点击某一个类,可以看到类的具体信息,包括违规、LCOM4、覆盖、重复信息。

主要为了能更快追踪违规的详细信息,更高效的解决存在的问题。

    图15 - 标签云[Clouds]

快速成功(Quick Win)模式中:字体大小代表代码行数颜色代表遵守规则或者覆盖率

最高风险(Top risk)模式中:字体大小代表复杂度颜色代表遵守规则或者覆盖率

OK,第2篇的内容就先介绍到这里,下次会继续介绍最后一部分的内容。

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多