也谈谈StatSVN

不想写一些和网上现有文献雷同的,想到哪就写到哪吧~

 

一.StatSVN利用的是SVN自带的diff插件,所以简单说,它只能识别出相邻版本之间在行数上的变化。至于行内的代码内容变化,欠奉~

所以搜集了一下目前网上大家公认的几个注意事项:

1.在编码阶段中前期使用,提交测试后就不宜再用了;

2.尽量减少“删除”、“重命名”、“移动”的操作;

3.在编码阶段要及时宣贯编码规范,并实施代码走查,以减少空行和注释行的误差;

4.使用JAVA开发的,建议提交代码前使用IDE对文件格式化操作,减小格式对统计结果的影响;

5.注意识别“源文件排版格式的变动”、“工具类的引用”(非JAR包形式的)、“配置文件的引入”等情况对统计结果的影响;

6.加强对分支的管理。StatSVN对“主干-分支”的计算就是简单的1+1。所以开发人员拉出一个工作分支,没写一行新代码,统计结果就变成了2。所以这里可以“统计指定路径”,或者“持续记录计算差值”,来实现对主干、分支代码的统计~

其实很多度量工作都是这样,我们没必要去纠结这个尺子准不准,只要尺子上有刻度,能把所有度量目标都能放在尺子上比比,就可以了。StatSVN是静态统计工具,很多网友都说它不准、不智能,其实多想想“差值”、“趋势”这个思路,也许就能解决很多误差的问题。以前网上有个故事,一个老头去买柿子,他知道商家的秤不准,所以先要了10个,商家说15元的,然后老头说“太多了,给我拿掉2个”,商家说13元。结果老头扔下2元钱,说“我就要那2个吧”……

 

二.关于StatSVN的操作,我就说说网上不太好搜的一些我个人总结出的经验:

1.现在的TSVN已经集成了命令行操作功能,在安装时钩选一下即可。同时check out可以通过TSVN来操作,也不会再有什么版本不一致的问题了。

2.生成log的环节,可以在命令行时,深入到任意一级目录下去操作,生成的log就是该目录下的。另外,在生成log时可以指定时间范围、版本范围:

svn log -v --xml -r r130-r159 > logfile.log

svn log -v --xml -r {2013-01-01}:{2013-06-01}> logfile.log

3.生成统计的环节,需要注意的就是那些参数了,http://my.oschina.net/myriads/blog/15665 当中已经有一些说明,常用的也差不多就是这些~

-threads <int>,这个是指定svndiff的线程,默认值25,不知道有人改成50会有什么奇效。。

-tags-dir <路径>,说明说“识别tag的管理”?不知道对统计结果有何影响。。

其它还有几个参数,可以实现结果向ViewVC、Trac、Bugzilla的导出,就不多说了。

 

三.生成统计的过程,会很漫长,耐心是关键,另外好像挺耗内存的。。我运行了几次,都占用内存100MB上下,不知道再大些的库会是什么样~

转载于:https://my.oschina.net/softshellhero/blog/176168

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值