纯新增代码,如:
+void foo() {
+ ... ...
+}
纯删除代码,如:
-void foo() {
- ... ...
-}
修改的代码,如:
-void foo(void);
+void foo(int);
我们所要统计的所谓有效代码更多是指纯新增的代码和修改的代码,纯删除的代码可忽略不计。这样一来实际有效代码行数 = 纯新增代码行数 + 修改代码行数;而修改的代码在svn diff结果中体现为一减一加,实际修改行数是等于其+的行数的。也就是说有效代码行数就是svn diff结果中所有前缀为+的行的行数。svn diff输出格式相对规整,通过解析得到这个行数并非难事。最简单的方法就是使用Shell脚本 了。
脚本全部内容这里就不列出来了,这里 可以下载。其核心代码只有以下两行:
svn diff -r$start_revision:$end_revision $target $USERNAME $PASSWD > $TEMPFILE
add_lines_count=`grep "^+" $TEMPFILE|grep -v "^+++"|sed 's/^.//'|sed '/^$/d'|wc -l`
首先我们使用svn diff命令将两个修订号之间的差异重定向到一个临时文件中,然后使用grep、sed和wc的组合完成行数的计算:其中首先过滤出以+开头的行,但去除其中+++开头的行,得到的是所有只以一个+开头的行。再利用set 's/^.//'删除每行行首的那个+,用set '/^$/d'删除所有空行,最后利用wc -l计算总行数。
也就是说通过上面脚本运行后得到的有效代码行数是不包括空行的,但是包含注释代码。
转自:http://bigwhite.blogbus.com/logs/92616077.html
分享到:
相关推荐
StatSVN是一个Java写的开源代码统计程序,从statCVS移植而来,能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表。比如:代码行数的时间线;针对每个开发者的代码行数;开发者的活跃程度;...
基于TortoiseSVN API接口实现的周期性目录用户使用情况数据统计分析工具
svn代码量统计工具StatSVN的使用
SVN代码统计工具: 1、 statsvn-0.4.1.zip,下载后放入E盘根目录底下,解压成文件夹statsvn。 2、 本地必须有svn客户端跟jdk环境。 3、 checkout 希望统计的代码到本地。 4、 到dos命令窗口,把目录切换到刚checkout的...
统计SVN代码提交次数工具-statSVN /workspace 最新版本所在的目录 -include **/*.cpp:**/*.h 默认情况下statsvn统计指定目录下的所有文件,这个参数可以设置指定统计具体文件 -exclude xxx/** 表示不统计的内容...
NULL 博文链接:https://45121739-163-com.iteye.com/blog/1390144
将需要统计的svn路径下的代码checkout到本地工作目录里,版本可以自由选择,如果你要统计某个版本下的代码量checkout出对应的版本即可,如果需要统计最近的版本时的代码量,checkout最新版本。
利用statsvn进行代码量统计,详细描述了操作步骤及关键的指令,同时附上了jar包。
主要介绍了python实现统计代码行数的方法,涉及Python中os模块及codecs模块的相关使用技巧,需要的朋友可以参考下
主要介绍了Shell脚本实现的基于SVN的代码提交量统计工具,本文直接给出实现脚本代码,需要的朋友可以参考下
显示项目统计数量。 这个插件显示的是按扩展名排序的文件,以及大小、行数、LOC等。 用户可以选择统计(Project/Module/Package/File)范围,选择范围后需要点击Refresh,。 (这个插件需要Java1.8)
为什么要用StatSVN统计工具? 程序员: 我想看看我对项目贡献了多少,比...StatSVN很好的统计工具,能帮你统计团队成员各自的编写量,代码总数,提交情况,文件数量等情况,并且以html网页图表的方式发布统计结果。
使用statsvn统计代码量,帮助汇总代码行数,便于分析代码。具体使用请参看教程,便于管理
统计svn代码量专用软件,解决svn log: svn info: Invalid svn info xml; unable to find revision or url for问题。官网发布的0.7.0版本有缺陷,一直报版本不匹配问题。
并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理...
在网上查找到了SVN的代码统计工具,但是HG却查不到,正好领导要统计工作量,所以就根据HG导出的日志自己写了个。 唯一的BUG就是如果某个人上传了某个文件,那么这个文件的所有数据都将被记入。所以不是很准,但是除...
命名版的svn。统计代码量时如果使用statsvn.jar则必须使用该客户端。
实现:• 根据svn,对源代码进行轻量级静态分析,获得代码中异常日志打印的原始信息• 收集单机/多机测试日志,并对日志文件进行parse、filter、merge等处理,得到实际覆盖的日志信息• 根据代码中的原始日志信息和...
开源软件的开放合作模式有望改变传统的软件开发方式,挖掘SVN(Subversion)代码库中文件的版本变化规律,有助于发现潜在缺陷,从而改善软件质量。以两个面向对象开源软件为例,发现其中的类文件修改次数大致服从幂...