10分钟掌握高效代码行统计工具——cloc

cloc

一款高效的代码行统计工具,且跨多平台:

  • Window
  • Linux
  • Mac
  • … …

高效是其优点,且稳定性比较好。
Linux版的可以处理超大工程的文件,不会出现其它同类工具在处理超大文件时崩溃的问题。

用法简单,学习成本低,尤其是看了我这篇文章之后就更低了。

安装

下载

最新版下载地址:
https://github.com/AlDanial/cloc/releases/tag/v1.96

本文介绍的是Linux版本,所以下载:
cloc-1.96.tar.gz

解压

tar -zxvf cloc-1.96.tar.gz

解压出文件目录:cloc-1.96
直接在cloc-1.96目录中执行cloc即可

官方网址

https://cloc.sourceforge.net/

官方开发库

https://github.com/AlDanial/cloc/

常用场景

基版本代码行统计

cd cloc-1.96
./cloc --skip-archive='(zip|tar(.(gz|Z|bz2|xz|7z))?)' --exclude-dir=biz_third_lib,kafka_2.12-2.2.0,3rd_libs --not-match-f='otlv4.h' /system_modules
  • –skip-archive 填写需要过滤掉的包种类,这里是一个正则表达式,例子中将zip、tar、tar.gz、tar.z、tar.bz2、tar.7z都过滤掉了
  • –exclude-dir 填写需要过滤掉的目录,注意不要写成xxx/yyy,直接写yyy
  • –not-match-f 填写要过滤掉的文件名,这里是一个正则表达式,表示要过滤掉这一类文件;也可以写具体文件名,这样就过滤这个文件
  • /system_modules 这是要统计的目录
  • –exclude-ext 填写需要过滤掉的指定扩展名的文件,例如txt,csv,xml
  • –exclude-lang 填写需要过滤掉的指定语言编写的文件,例如C,PHP,Java
输出

正常的方式是屏幕打印,下面是原始的打印格式:
在这里插入图片描述
也可以用我们熟知的方式打印:

csv形式

加参数 --csv
在这里插入图片描述

xml形式

加参数 --xml
在这里插入图片描述

输出到文档

当然也可以将屏幕打印输出到文档,加参数 --report-file=
例如:

。/cloc --xml --report-file=compare_result.xml /mnt/e/pythonProject/swPerfcalc

compare_result.xml:
在这里插入图片描述

指定统计的条件

可以添加下列参数:

  • –include-ext= 填写需要统计的扩展名,例如:c,cpp,py
  • –include-lang= 填写需要统计的文件的编写语言,例如:C,C++,Python
  • –match-d= 填写需要统计的目录,是个正则表达式,例如:‘/(src|include)/’,只统计/src/ 和 /include/目录下的文件
  • –match-f= 填写需要统计的文件,是个正直表达式,例如:‘^[Ww]idget’,只统计以Widget 和widget开头的文件

变更代码行统计

./cloc --diff /system_modules1 /system_modules2

统计结果:
在这里插入图片描述
在SUM下面可以清晰的看到新增、修改和删除的代码行数(code列)、文件数(file列)、注释行数(comment)

另外,前面章节中提到的参数也都适用。

工具参数详解

./cloc --help
可用于对VC++、C++ Builder、Delphi、VB、C/C++、ASM、Java、C#、SQL 等程序源码进详细的统计,可以准确的分析出程序中代码、注释和空白数。程序会自动根据你选择的文件类型选择相应的统计方式,并将所有文件的分析结果进汇总,便于方便直观的对软件项目的代码量进全面的评估。本软件是绿色软件,不需要安装,展开到任意目录,直接运即可。 1、 支持VC++、VC.Net项目文件的统计方式。 2、 支持C++ Builder项目文件的统计方式。 3、 支持C/C++文件 .cpp 和 .h 的文件统计。 4、 支持同时多个文件的统计方式。 5、 支持同时多种文件类型的统计方式。 6、 支持VB项目文件和 .frm 和 .bas 文件的统计。 7、 支持汇编文件 .asm 和 .inc 的统计。 8、 支持Delphi项目文件 .dpr 和 .pas、.dfm 文件的统计。 9、 支持C#项目文件 .csproj 的直接统计及 .cs 文件的统计。 10、支持Java文件 .java 的统计。 11、支持SQL文件 .sql 的统计。 12、支持 *.* 文件类型的自动分析统计。 13、支持自定义一次选择多个目录的统计方式。 14、支持用户自定义文件统计类型及统计方法。 15、支持htm,excel,csv,txt等多种存盘文件类型。 16、支持统计结果的直接打印输出。 17、支持命令方式的文件及目录统计方式。 18、支持资源管理器右键关联的文件及目录快捷统计方式。 19、支持GUI和命令方式下使用自定义配置文件进统计的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值