https://www.cnblogs.com/xuehanyu/p/4520965.html
SourceMonitor是一款免费的软件,运行在Windows平台下。它可对多种语言写就的代码进行度量,包括C、C++、C#、Java、VB、Delphi和HTML,并且针对不同的语言,输出不同的代码度量值。
像其他代码度量工具一样,SourceMonitor只关注代码,并为编码人员提供及时的反馈,它不是一款项目管理工具,不关注项目实施中从功能分析到设计编码,再到测试这整个过程。
度量指标
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
在安装完成后我们来尝试使用这个软件。
软件使用
打开软件后点击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结果了
零(将字符串转化成数字的函数) int num = atoi(arr); 该函数具有把字符串转化成整型数的作用。 壹(vim显示行号) Linux终端下直接输入vim ~/.vimrc,打开是一个空白的页面,然后进入插入模式,直接输入set nu,然后保存并退出,以 后每次 ...
python基础知识(二) (二)常用控制流 1、控制语句 分支语句:起到一个分支分流的作用,类似马路上的红绿灯 循环语句:for while 可以使代码不断重复的执行 2、判断语句:关键字是if..elif..else a、if条件语句后面可以接比较运算、逻辑运算、成员运算;当if后面的语句满足条件,允许的结果是Tru...
1.Python : 是一门解释型 弱类型 高级开发编程语言. 2.第一个Python程序的编写: print ("hell,world") 3.变量:把程序运行过程中的值储存起来,方便后面的程序调用. 4.变量的命名要求: 1,只能是数字或字母或下划线组成; 2,不能是数字开头,也不能全是数字; 3,不能是Python的关键字; 4...
一 程序的三种基本结构 顺序结构:程序从上往下依次执行,这个叫顺序结构 分支结构:有选择的执行或者不执行某段代码 循环结构:重复的执行某段代码 二 分支结构之if 最简单的俩种用法 (tips: if语句后面的大括号可以省略:如果省略:那么这个if语句只能管理离它最近的那...
1打开vlc播放器 点击媒体菜单 选择打开网络串流 2输入RTSP播放地址 3点击播放右下角箭头选择串流 4修改为HTTP,点击添加 5设置请求端口和路径 6选择输出格式 完成后即可使用 H5video标签播放
选择缓冲区和剪切板 不同于Windows,Linux系统里存在两个剪切板:一个叫做选择缓冲区(X11 selection buffer),另一个才是剪切板(clipboard)。 选择缓冲区是实时的,当使用鼠标或键盘选择内容时,内容已经存在于选择缓冲区了,这或许就是选择缓冲区的由来吧。 使用下面的命令查看选择缓冲区的内容:: $ x...
1、按 Ctrl+Shift+P 2、输入install,选择install Package 3、输入vue,选择 vue syntax hightlight 如果上述方法不起作用,可以选择在下面连接中下载文件,手动安装 如何让你的.vue在sublime text 3 中变成彩色? 转载于:https://www...
http://www.blogjava.net/wangdetian168/archive/2011/04/12/348651.html 1、Ext.grid.GridPanel 主要配置项: store:表格的数据集 columns:表格列模式的配置数组,可自动创建ColumnModel列模式 autoExpandColum...
部署VMware vSphere 5.5 ################################################################################# ver1.0 2014-09-09 #### 本文内容来自 中国专利信息中心 - 基础系统处 — 张阳## 如有转载,请务必保留...