zoukankan      html  css  js  c++  java
  • 程序员实用工具,推荐一款代码统计神器GitStats

    阅读全文需7分钟,工具很实用。

    1. 前言

    对于Git项目开发,有一些可视化的工具,如gitk,giggle等,来查看项目的开发历史。但对于大型的项目,这些简单的可视化工具远远不足以了解项目完整的开发历史,一些定量的统计数据(如每日提交量,行数等)更能反映项目的开发进程和活跃性。今天给大家推荐的这款工具:GitStats,它能生成如下的一些统计数据,并且可以图表形式进行展示对比。

    2. 进一步了解Gitstats

    进一步来讲,Gitstats它是一个git仓库分析软件,它可以检查仓库并生成历史数据的统计信息。可以帮助你查看git仓库的提交状态,根据不同维度分析计算,并自动生成数据图表。

    官网介绍:http://gitstats.sourceforge.net/

    当前GitStats所生成统计信息常用分为如下几类:

    • 常规的统计: 文件总数,行数,提交量,作者数。
    • 活跃性: 每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。
    • 作者数: 列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。
    • 文件数:按日期划分,按扩展名名划分。
    • 行数: 按日期划分。

    3. 命令行安装

    安装使用非常简单,如果是ubuntu,直接apt-get 即可,下面介绍几款不同操作系统下的安装方式。

    Ubuntu:

    apt-get install gitstats
    

    CentOS:

    yum install gitstats
    

    Mac:

    brew install --HEAD homebrew/head-only/gitstats
    

    如果是Mac,那还得装个gnuPlot,GitStats在Windows下使用时需要安装有Python、Git,Gnuplot。

    • Python:GitStats本身就是一个python脚本,windows下我们需要用python命令来运行GitStats。
    • Git:这个不用解释也知道是必须的。
    • Gnuplot:Gnuplot一个命令行的交互式绘图工具。

    4. 源码安装及使用

    打开gitbash或者其他git客户端,输入如下命令:

    git clone git://github.com/hoxu/gitstats.git
    

    下载完成后,进入gitstats目录,将gitstats拷贝为gitstats.py文件

    $ cp gitstats gitstats.py
    

    然后执行统计命令

    $ python gitstats.py ../xxx_pro/ ./test
    

    ../xxx_pro/ 为工程所在目录。
    ./test 为结果文件目录。

    完成后,进入test目录,双击index.html文件查看统计结果。

    5. 具体实操

    为了便于读者能直观感受到,下面通过具体实操,带大家来领略gitstats的作用,以Requests项目为例。

    1、下载克隆Requests源码到本地。

    git clone https://github.com/psf/requests.git
    

    2、进入到gitstats目录,并将gitstats拷贝为gitstats.py文件,参考上述第4小节介绍。

    cp gitstats gitstats.py
    

    3、查看gitstats目录结构:

    ➜  gitstats git:(master) ✗ tree -L 1
    .
    ├── Makefile
    ├── arrow-down.gif
    ├── arrow-none.gif
    ├── arrow-up.gif
    ├── doc
    ├── gitstats
    ├── gitstats.css
    ├── gitstats.py
    ├── sortable.js
    └── test
    
    2 directories, 8 files
    

    4、执行统计命令:

    python gitstats.py ../requests ./test
    

    5、统计执行结束后,在本地生成了test结果目录,目录生成的文件结构如下所示。
    image

    打开index.html报告,如下图所示。首先,在gitstats上提供了全局的统计数据报告,包括:

    • 报告产生时间及产生所花费的时间:如花费了11秒
    • 报告所覆盖的时间:如2011年02月14日至2019年11月23日
    • 年龄:该repo的年纪,如“3206天,其中1400天是活跃天.”
    • 文件数及代码:如:101个文件,2万5千行代码。
    • 作者数:如645,每个作者平均提交次数9.2次。

    image

    除此之外,还包括了:

    1. 时间维度的效率分析:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。
    image
    image

    2. 提交者维度的活跃度统计:列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。
    image

    3. 按照文件数:按日期划分,按扩展名名划分。
    image

    **4. 根据提交行数或提交的tag来统计。 **

    image

    如果你是团队领导,关心团队的开发效率和工作激情;如果你是开源软件开发者,维护者某个repo;又或者,你关心某个开源软件或者当前开发团队的进度,那么你可以试一试gitstats。

    点击可查看原文,希望这篇文章能帮到你!更多干货文章请关注我们。

    原文发表于公众号:【测试开发技术】,欢迎关注我我们!

  • 相关阅读:
    在StoryBoard对UICollectionViewCell 进行Autolayout是遇到的Xcode6.01的BUG
    当AVPlayer在被释放之后,Player一直监听的时间没有被移除,提示错误的解决办法
    qrcode 生成二维码并下载dataUrl到文件
    HTML/CSS/JS笔记-属性和方法以及特性的记录
    UE4笔记-重定义GameViewport 布局(Slate)
    混合编程:VS2017 C++相互调用Python3.X类/对象/函数/DLL调用等笔记【Windows】
    CSS-Flex/Flexbox笔记-CSS3 Flex属性/布局相关问题
    不知道算什么分类笔记
    C#/Net的语法和一些小技巧和语言特性笔记
    Database相关笔记----T-SQL/PL-SQL/MySQL/Sql Server等
  • 原文地址:https://www.cnblogs.com/jinjiangongzuoshi/p/11955958.html
Copyright © 2011-2022 走看看