软件质量之道:SourceMonitor

有些事非做不可,并非为了幸福,而是缓解痛苦,因为不做,则更痛苦——这便是无奈。

夏中义 《文心独白》

 

1 引子

博客又有一阵子没更新了,最近认真思考了阿里上市的成功之处:选择和坚持。其实人生并没有绝对的对与错,也没有绝对的成功与失败。正如“有些人活着,他已经死了”云云,我总是拿对与错来让自己选择,其实就是根本的错误。决定走一条路,就继续走下去,终点虽然不知道在哪里,那就尽情享受沿途的风景,以及珍惜与身边的陪伴着的人的分分钟钟!

扯得有点远,回归主题。之前讨论了软件质量之道的各个方面,但是也都是一些虚话,达不到真正的目的。既然如此,还不如针对上一篇文章结尾部分的流程图的每个部分,进行详细的描述,达到人人可用的效果,使之发扬光大。

循序渐进,首先先说一下各个工具的用途以及使用方法,然后再说明如何用Ant进行管理,最后再统一加到CruiseControl中进行调度。

 

2 SourceMonitor简介

SourceMonitor是一款免费的软件,运行在Windows平台下。它可对多种语言写就的代码进行度量,包括C、C++、C#、Java、VB、Delphi和HTML,并且针对不同的语言,输出不同的代码度量值。

像其他代码度量工具一样,SourceMonitor只关注代码,并为编码人员提供及时的反馈,它不是一款项目管理工具,不关注项目实施中从功能分析到设计编码,再到测试这整个过程。

SourceMonitor只是一个“度量”工具,但是通过基本的度量,可以从代码表面层次发现一些根本的,基础的问题,所以将其作为介绍的第一个工具,也应当成为最基础的一个工具来为软件质量把关。

 

3 SourceMonitor度量值

说到SourceMonitor的度量,对于不同的语言提供不同方面的度量,这里仅针对C++进行介绍,其提供了以下几方面的度量。(关于其他语言,请参考SourceMonitor的帮助文档Explanation of Language Metrics章节)

1. 总行数(Lines)

包括空行在内的代码行数。

2. 语句数(Statements)

在C++中,语句是以分号结尾的。分支语句if,循环语句for、while,跳转语句goto都被计算在内,预处理语句#include、#define和#undef也被计算在内,对其他的预处理语句则不作计算,在#else和#endif、#elif和#endif之间的语句将被忽略。

3. 分支语句比例(Percent Branch Statements)

该值表示分支语句占语句数目的比例,这里的“分支语句”指的是使程序不顺序执行的语句,包括if、else、for、while、break、continue、goto、switch、case、default和return。需要注意的是,do不被计算在内,因为其对应的while已经计算了。另外,异常处理的catch也被作为一个分支计算。

4. 注释比例(Percent Lines with Comments)

该值指示注释行(包括/*……*/和//……形式的注

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值