针对已有产品或项目升级代码统计方案

Posted hericwan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了针对已有产品或项目升级代码统计方案相关的知识,希望对你有一定的参考价值。

一、简介

StatSVN是一个Java写的开源代码统计程序,从statCVS移植而来,能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表。比如:代码行数的时间线;针对每个开发者的代码行数;开发者的活跃程度;开发者最近所提交的;文件数量;平均文件大小;最大文件;哪个文件是修改最多次数的;目录大小;带有文件数量和代码行数的Repository tree。StatSVN当前版本能够生成一组包括表格与图表的静态html文档。

 

 

二、步骤

1下载并安装

1)下载地址:https://sourceforge.net/projects/statsvn/,此为官网,由于尝试经验,其存有bug,建议使用修订后的jar包版本0.7.1

 附件私聊

2) statsvn.jar到一个目录,如E://CodeAnalysis

3) E://CodeAnalysis文件夹中创建svn.log文件,用于后续存在log日志

4) E://CodeAnalysis文件夹中创建logs文件夹,用于后续生成报表文件并存放

5) E://CodeAnalysis文件夹中创建log.bat执行文件(windows),用于执行并生成分析报表

6) 至此,共在E://CodeAnalysis文件夹下创建四个文件,如下图

 技术图片

 

 

其中最关键在于log.bat中的执行命令编写,通过记事本打开编辑,如:

bat命令开始

———————————————————————————————

cd G:workspace_stardand_2020zfsoft_gov_server_affairs_platfrom_standard_maven_v3_0src

 

svn log -r {2020-05-01}:{2020-05-31} --xml -v > E:CodeAnalysissvn.log

 

cd E:CodeAnalysis

 

java -jar statsvn.jar E:CodeAnalysissvn.log  G:workspace_stardand_2020zfsoft_gov_server_affairs_platfrom_standard_maven_v3_0src -output-dir E:CodeAnalysislogs -include **/*.java:**/*.jsp

pause

———————————————————————————————

bat命令结束

 

第一步:cd G:workspace_stardand_2020zfsoft_gov_server_affairs_platfrom_standard_maven_v3_0src

意思是前往到项目的src路径下,跟进项目实际情况,我统计的.java代码,所以直接指定到src目录下

 

第二步:svn log -r {2020-05-01}:{2020-05-31} --xml -v > G:workspace_stardand_2020svnlogsvn.log

此为关键步骤,意思是查询时间段2020-05-012020-05-31内产生的svn提交日志信息,以xml格式的方式存储在svn.log文件中,此也是为什么相对来说更适合我们统计已存在的项目或产品升级的代码统计,因为是直接和我们提交的日志挂钩的

 

第三步:cd E:CodeAnalysis

前往到我们的工具所在目录,开始使用工具来解析

 

第四步:java -jar statsvn.jar E:CodeAnalysissvn.log  G:workspace_stardand_2020zfsoft_gov_server_affairs_platfrom_standard_maven_v3_0src -output-dir E:CodeAnalysislogs -include **/*.java:**/*.jsp

pause

此为为生成报表相对重要,java -jar statsvn.jar为使用jar来生成报表,其中参数

第一个 E:CodeAnalysissvn.log 为统计时间段内的日志信息文件

第二个:

G:workspace_stardand_2020zfsoft_gov_server_affairs_platfrom_standard_maven_v3_0src为需要统计的项目路径地址,为svn检下来的,注意:一定要更新提交过后的,文件与svn仓库信息保持一致

第三个: E:CodeAnalysislogs,为报表生成位置,通过-output-dir E:CodeAnalysislogs来指定

第四个:-include **/*.java:**/*.jsp,代表我只统计其中的.java.jsp文件,还有类似-exclued等参数排除某些文件,此处不做多说了,有需要用到的可以自己官网查阅

第五个:pause,为暂停退出,等待报表生成

 

 

三、运行结果

通过上述步骤,我们可以生成本次时间段内的代码提交信息,会在logs文件夹下生成一堆报表

 技术图片

 

 

其中index.html为主要统计报表页面,打开如下:

 技术图片

 

 

包括总提交文件数,总代码行数,开发人员数等信息吗,并且可以通过下面的Developers等进行相关层面的点击透视

 技术图片

 

 

 

 

相关的报表页面大家可以自己看看,里面从很多维度统计了代码修改,提交、日志等,可以直观的看到阶段内项目或产品的工作量。

以上是关于针对已有产品或项目升级代码统计方案的主要内容,如果未能解决你的问题,请参考以下文章

代码词汇统计

Jenkins中用jacoco统计gradle项目的代码覆盖率

活跃用户统计

VS2013 统计代码量(使用正则表达式)

单测增量代码覆盖率统计方案

VS 统计整个项目总的代码行数