zoukankan      html  css  js  c++  java
  • 针对已有产品或项目升级代码统计方案

    一、简介

    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等进行相关层面的点击透视

     

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

  • 相关阅读:
    MySQL 5.7 解压版 安装教程(图文详细)[Windows]
    Markdown测试
    Iterator-Java
    设计模式-Iterator
    【转载】图解Java常用数据结构(一)
    SpringBoot项目打包成jar后,启动脚本
    spring boot 中文乱码问题
    Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
    Caused by: java.lang.NoClassDefFoundError: javax/el/ELManager
    javax.crypto.BadPaddingException: Given final block not properly padded
  • 原文地址:https://www.cnblogs.com/hericwan/p/13029786.html
Copyright © 2011-2022 走看看