加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

写了个代码统计工具

发布时间:2020-12-16 18:47:07 所属栏目:大数据 来源:网络整理
导读:周末想统计下XCL-Charts到底写了多少行代码,就用Go语言写了个代码统计工具,效果还不错,统计速度也快。 就把统计报表部份今天完善了下,硬生生把很短的代码澎涨到200多行了。 除了必要的代码行数和文件总计外,增加了代码行数有300,500,1000,5000及5000以

周末想统计下XCL-Charts到底写了多少行代码,就用Go语言写了个代码统计工具,效果还不错,统计速度也快。

就把统计报表部份今天完善了下,硬生生把很短的代码澎涨到200多行了。

除了必要的代码行数和文件总计外,增加了代码行数有300,500,1000,5000及5000以上这几个级别的代码文件个数统计功能。

同时,用户可以指定显示出代码行数大于等于某值的所有文件明细,并按从大到小顺序排列。

但注意: 对一些特殊的注释,如 C/C++的 #if 0 #if 1 #if DEBUG #endif 或 xml的<!-- -->之类未做处理。 其运行结果仅供参考。

贴下效果:

E:XCLToolssrccrname>go run scounter.go -l=600  -i .java E:GitHubGitHubXCL-ChartsXCL-Chartssrc

代码统计汇总(2014-12-22 22:20:47)
=================================================
分析根目录: E:GitHubGitHubXCL-ChartsXCL-Chartssrc

 代码行数     : 文件个数
-------------------------------------------------
 line <= 300  : 92
 line <= 500  : 13
 line <= 1000 : 6
 line <= 5000 : 0
 line > 5000  : 0
-------------------------------------------------
 代码行总计: 18214  注释行总计: 7068
 分析文件数: 111

代码行( >= 600 )文件明细:
   代码行    注释行    文件名
-------------------------------------------------
   987         154    .orgxclchartsrendererAxesChart.java
   620          53    .orgxclchartschartAreaChart.java
   615          27    .orgxclchartsrendererplotPlotLegendRender.java
   610          97    .orgxclchartschartBarChart.java
-------------------------------------------------
             文件数:4

elapsed 1.744222 seconds
在Linux下,我加了颜色效果,来突出统计值。

上面的XCL-Charts库我写了18214行有效Java代码,对比下微软的casablanca库,那么强大的C++ sdk库,

才将近7k的C++代码.........

E:XCLToolssrccrname> scounter -l=700  -i=.c,.cpp,.h,.hpp
D:casablanca1027Releasesrc

代码统计汇总(2014-12-22 21:26:54)
=================================================
分析根目录: D:casablanca1027Releasesrc

 代码行数     : 文件个数
-------------------------------------------------
 line <= 300  : 9
 line <= 500  : 6
 line <= 1000 : 2
 line <= 5000 : 2
 line > 5000  : 0
-------------------------------------------------
 代码行总计: 6981  注释行总计: 1688
 分析文件数: 19

代码行( >= 700 )文件明细:
   代码行    注释行    文件名
-------------------------------------------------
  1489          35    .jsonjson.cpp
  1280         825    .httpclienthttp_client.cpp
-------------------------------------------------
             文件数:2

elapsed 1.027630 seconds
从上面例子可以看到,在-i后面加各种扩展名,可以把所指定扩展名的文件合在一起统计,也可以跨语言的统计,如 -i=.cpp,.go,.java 之类.

附命令说明:

xcl@xclpc:~/xclcounter$ ./scounter

NAME:
  scounter <path> 统计代码行数
OPTIONS:
  -i="": 仅包含指定扩展名的文件(如:.java,.h),不输入则包含全部.
  -v=false: 是否显示文件统计明细.
  -l=0: 在统计结果上列出大于等于所指定行数(0为不记录)的文件信息.
EXAMPLE:
  scounter -i .java c:xclchartsxclchartssrc
  scounter -i=.cpp,.hpp,.c /xclproject/src
  scounter -i .go -v=false /usr/local/go/src
  scounter -l=680 -i=.cpp,.c  /xclproject/common/src
AUTHOR:
  XiongChuanLiang (xcl_168@aliyun.com) 

这类东西在Go语言中其实很好写,正则加代码处理过滤掉多行代码注释,再结合文件遍历及channel,一下就出来了。

最后我把XCL-Charts的库和demo工程代码加起来,共有32379行代码,当初真是给自己埋了好大一个坑,搞得现在都还在填坑中......


工具下载: 点此


MAIL: xcl_168@aliyun.com

BLOG: http://blog.csdn.net/xcl168

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读