http://ouzhong.blog.hexun.com/32301817_d.html
StatCVS下载地址:http://sourceforge.net/projects/statcvs/files/
简介
StatCVS 是一个基于CVS的代码统计工具,是sourceforge上的一个纯java的开源工具。它通过分析cvs的log文件,得到各种各样的代码统计报告,包括:
1. 不同时间点项目的代码量。
2. 不同开发人员的代码量,以及占整个项目的百分比。
3. 不同版本、tag的代码量以及修改的代码量。
4. 各个文件夹包含的代码量。
以上统计信息对项目进度分析,项目风险管理以及项目总结等等会很有帮助。
StatCVS能够生成HTML和PNG格式的统计报告,请参考:http://statcvs.sourceforge.net/statcvs-html/
用法介绍
下面简单介绍一下StatCVS的用法,翻译自http://statcvs.sourceforge.net/manual.html
1. 前提条件
要使用StatCVS,你必须:
安装java 1.4或以上版本;
CVS客户端,用来生成CVS log文件;可以是CVS (Unix上) 或 CVSNT(Windows上)。
2. 快速开始
1)从CVS checkout 代码。如果你已经有了checkout的代码,可以跳过这一步。
cvs -d /cvsroot checkout module
2)生成CVS log文件
cd module //进入到模块的目录cvs log > logfile.log
3)运行StatCVS
要用命令:java -jar statcvs.jar 来运行,需要至少2个参数。
java -jar statcvs.jar <logfile> <checked-out-module>
例如:
java -jar /path/to/statcvs.jar /path/to/module/logfile.log /path/to/module
以上命令在当前文件夹下生成统计报告,只要打开index.html文件,就能看到统计报告的目录。
注:/path 可以是相对路径或绝对路径
一点经验
下面是一些我在使用过程中的一点经验:
1. 如何过滤不想统计的文件夹、文件类型。
使用-include "" -exclude "" 可以做到,请参考下面的例子。
2. 如何计算同一个项目不同tag之间的修改的代码量。
使用-tags "" 来指定tag名的规则,因为同一个项目的tag名字应该是有规则的,这样可以避免别的项目的tag对统计结果的影响。
例子:
要求统计项目PrjA下,模块MA下除测试代码外的代码量 和 模块MB下所有.java的代码量。
并比较不同tag版本之间的修改代码量,tag的名称符合PrjA*TEST规则。
cd module
java -jar statcvs.jar -output-dir all_prjA -tags "PrjA.*.TEST" -include "MA/**:MB/**/*.java" -exclude "MA/test/**"