SourceMonitor是一款免费的软件,运行在Windows平台下。它可对多种语言写就的代码进行度量,包括C、C++、C#、Java、VB、Delphi和HTML,并且针对不同的语言,输出不同的代码度量值。
像其他代码度量工具一样,SourceMonitor只关注代码,并为编码人员提供及时的反馈,它不是1款项目管理工具,不关注项目实行中从功能分析到设计编码,再到测试这全部进程。
SourceMonitor只是一个“度量”工具,但是通过基本的度量,可以从代码表面层次发现1些根本的,基础的问题,所以将其作为介绍的第一个工具,也应当做为最基础的一个工具来为软件质量把关。
说到SourceMonitor的度量,对不同的语言提供不同方面的度量,这里仅针对C++进行介绍,其提供了以下几方面的度量。(关于其他语言,请参考SourceMonitor的帮助文档Explanation of Language Metrics章节)
总行数(Lines)
包括空行在内的代码行数。
语句数(Statements)
在C++中,语句是以分号结尾的。分支语句if,循环语句for、while,跳转语句goto都被计算在内,预处理语句#include、#define和#undef也被计算在内,对其他的预处理语句则不作计算,在#else和#endif、#elif和#endif之间的语句将被疏忽。
分支语句比例(Percent Branch Statements)
该值表示分支语句占语句数目的比例,这里的“分支语句”指的是使程序不顺序履行的语句,包括if、else、for、while、break、continue、goto、switch、case、default和return。需要注意的是,do不被计算在内,由于其对应的while已计算了。另外,异常处理的catch也被作为1个分支计算。
注释比例(Percent Lines with Comments)
该值唆使注释行(包括/*……*/和//……情势的注释)占总行数的比例。1般公司会对每一个文档的header或footer部份进行特殊的声明注释,可以再工程属性中设置过滤,不计算在内。
类个数(Classes)
包括class,struct和template在内的个数。
平均每一个类方法数(Methods per Class)
平均每一个类的方法数,即包括内联和非内联的,template函数在内的类方法数除以所有类的个数。
函数个数(Functions)
所有函数的个数。
平均每一个函数包括的语句数目(Average Statements per Method)
总的函数语句数目除以函数数目得到该值。
函数圈复杂度(Function Complexity)
圈复杂度唆使1个函数可履行路径的数目,以下语句为圈复杂度的值贡献1:if/else/for/while语句,3元运算符语句,if/for/while判断条件中的"&&"或“||”,switch语句,后接break/goto/ return/throw/continue语句的case语句,catch/except语句等。对应有最大圈复杂度(Max Complexity)和平均圈复杂度(Avg Complexity)。
函数深度(Block Depth)
函数深度唆使函数中分支嵌套的层数。对应有最大深度(Max Depth)和平均深度(Avg Depth)。
关于SourceMonitor的安装,我们可以在其官方网站:http://www.campwoodsw.com/上下载这个软件,本人下载的是最新版的V3.5.0.306,安装过程很通俗易懂。
在安装完成后我们来尝试使用这个软件。
打开软件后点击File->New Project来创建一个新的项目,之后需要经过如下几个步骤:
1.程序语言选择,这里我们选择Java语言;
2.命名当前项目并选择保存路径;
3.选择该项目要度量解析的文件,可以通过XML配置文件导入,也可通过选择项目目录通过扩展名自动筛选文件;
4.选择项目配置,这里可以根据自己的需要去选择这三项,我们选择不修改直接下一步;
5.选择项目保存的格式,这里我们选择New SourceMonitor project format;
6.创建项目的第一个检查点并命名,如果涉及到UTF-8格式编码的,可以选择下面的选项窗口;
7.最后再确认以上所选择的所有信息,如有错误点击上一步退回重新选择,无误则单机完成;
8.完成后确认要度量的文件列表;
9.这样项目就成功建立了,并且完成了第一个度量点的建立;
10.双击我们刚才创立的度量点,我们可以看到项目中包含的各个Java文件的度量值;
11.双击文件我们可以看到对这个文件进行分析的详细内容;
这样,SourceMonitor的安装和使用方法就简单的介绍完了。
下面再简要提一下在Eclipse中集成SourceMonitor的方法:
点击Run->External Tools->External Tools Configurations...
点击左上角的添加图标或者在Program处右击选择New
填写Name、Location、Arguments如下如所示,之后点击Apply
此时再单击该窗口中的Run(以后可以点击Run->External Tools->SourceMoniter)即可运行处当前Eclipse中项目的SourceMonitor结果了