推荐一波代码量、行数、提交量、作者等全维度统计神器

工匠若水可能会迟到,但是从来不会缺席,最终还是觉得将自己的云笔记分享出来吧 ~

背景

代码各种维度的统计在有些时候是很重要的,这里总结一些常用的牛逼的代码统计工具,着重介绍了个人使用的 Statistic 插件。但是如果你是想统计团队维度的数据,推荐后面介绍的 git_stats 神器工具。

Statistic IDEA 插件

IDEA 的 Statistic 插件官方地址为 https://plugins.jetbrains.com/plugin/4509-statistic ,大家可以直接通过 IDEA 的插件 market 市场在线下载,搜索如下即可:

在这里插入图片描述

其提供了各种维度的筛选,大家可以自己在设置里设置自己的条件或者选择自己的筛选范围,譬如如下是各种维度的数据统计结果:

在这里插入图片描述
如下是点击面板上 Settings 设置按钮的自定义设置维度:

在这里插入图片描述

还有哪些比较好用的代码量统计工具呢?

如下再顺带推荐几个牛逼有趣的统计工具供你选用。

cloc 极客命令行工具

项目地址为https://github.com/AlDanial/cloc,里面给出了详细的使用说明和特性,这里不再介绍,具体参考官方文档,如下是一个命令使用结果示例:

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          28           1519            728           4659
YAML                             2              9              2             75
Bourne Shell                     3              6              0             17
make                             1              4              6             10
-------------------------------------------------------------------------------
SUM:                            34           1538            736           4761
-------------------------------------------------------------------------------

依赖 git 仓库的 gitstats

这个牛逼的要命!!!!团队极力推荐!!!!!!!

对于大型的 git 仓库追踪项目,很多可视化工具远远不足以了解项目完整的开发历史和周期,一些定量维度的统计数据(如每日提交量,行数等)更能反映项目的开发进程和活跃性(不过管理者大佬们绝对不能以这个为 kpi 维度,不然大家会疯狂提交一行一行的代码)。

gitstats 是一个 git 仓库分析软件,它可以检查仓库并生成历史数据的统计信息。可以帮我们查看 git 仓库的提交状态,根据不同维度分析计算,并自动生成数据图表,其统计维度很多,常见的如下:

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

其官方网址为http://gitstats.sourceforge.net/,里面详细说明了怎么安装和配置及查看数据报表。官方也给出了一个报表样例,链接为 http://gitstats.sourceforge.net/examples/gitstats/index.html,具体数据维度如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一句话总结就是牛逼,觉得值得,你公司如果有大盘显示器实时显示那就更加炫酷了。

杠精工具之 find 命令

不说了,这个绝对牛逼和原始,直接 find 走起,如下:

find . -name "*.java" -or -name "*.xml" -print | xargs wc -l

我颤抖了,确实能统计到数据,只是,只是,只是 无力反驳,是在下输了!!!!!

在这里插入图片描述

【工匠若水 未经允许严禁转载,请尊重作者劳动成果。+微信 yanbo373131686 联系我】

代码统计插件 eclipse plugin java 提供xls导出。 liugang594 开发的,方便下载 这是款小型的代码统计软件。它具有以下功能: 1、良好的统计性能。可以统计各种方式的注释,如单行、多行注释;注释在行前 、行尾、单独成行等。 2、可以进行多种语言注释统计。默认情况下已经可以统计.java、.C、.h、.CPP 、.C++和.AS 类型文件的统计了。还可以统计.properties文件 3、可以进行统计类型的自定义。点击统计类型配置按钮,在弹出的对话框左边是剩余可 配置的文件类型,右边是当前设置的统计类型,可以通过加入或移除按钮进行增删。 4、方便的打开文件。你可以在树或表上双击文件各直接打开文件或目录。双击文件时会 三种打开方式:本程序、系统、eclipse。如果是eclipse工程里的文件,则默认 是使用eclipse打开,否则使用本程序打开 5、可以进行多个目录的统计。每个统计的目录都会作为树结点加到树上去。当选择统计 的目录已经统计,则更新该目录。选择统计的目录,点del键时可删除这个统计 结点 6、单击统计结果表格的表头时,会按正反序进行排序,文件名按字母顺序排序;其他统计 数字按数字大小进行排序! 关于扩展的使用方法: 扩展就是通过继承basecount包里的BaseCount类,实现它的countTypeFile方法来达到 扩展的目的。你只要把传入的参数里的文件内容读取出来,然后按照你自定义的判断 注释、内容、总数、包声明、导入数、空白行数然后个的设入到传入的result参 数里就可以了(没有的可以不设)。具体的可以参照简单的下面给出的个例子。 再有点要注意的就是,你要把你的统计类型文件的后缀添加到configuration.ini文 件里去,如里这个文件里没有声明统计这个类型;另外你还要在config.ini文件里把文 件后缀--统计类 对写好。这样才能正确显示结果 例如:统计.properties文件 首先写统计类,假设这个类名为CountProperties,这个类在包count下。我们定 义.properties文件的注释是只有当行首的字符为“#”时认为是个注释,否则如果行空 则认为是个空行,其他的则认为是代码行。则代码如下: package count; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import basecount.BaseCount; import result.CountResult; public class CountPropertiesFile extends BaseCount { /** * implements this method to custom */ public void countTypeFile(File sourcefile, CountResult result) { countPropertiesFile(sourcefile, result); } /** * this method used to count properties file * the comment signal is "#" * @param sourcefile * @param result */ private void countPropertiesFile(File sourcefile, CountResult result) { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(sourcefile)); String line = null; String trimed = null; while ((line = reader.readLine()) != null) { int i = result.getTotlalLineCount(); result.setTotlalLineCount(++i); trimed = line.trim(); if (trimed.length() < 1) { i = result.getBlankLineCount(); result.setBlankLineCount(++i); } else if (trimed.startsWith("#")) { i = result.getCommentLineCount(); result.setCommentLineCount(++i); } else { i = result.getCodeLineCount(); result.setCodeLineCount(++i); } } } catch (Exception ex) { ex.printStackTrace(); } finally { try { if(reader!=null) reader.close(); } catch (Exception ex) { ex.printStackTrace(); } } } } 写完这个代码以后,在config.ini文件里增加行,内容如下: .properties=count.CountPropertiesFile 如果configuration.ini里的可统计类型不包括.properties文件,则增加以下内容 SourceFilter.countFileExtensions=.../.properties 这就完成了增加自定义的统计.properties类型文件的目的了!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工匠若水

看完有帮助?不妨贡献一根辣条~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值