丈量你的代码,从cloc开始

丈量你的代码,从cloc开始

如果我想统计我当前的项目有多少代码量?行数最高的代码文件有哪些?并且排除某些目录,怎么统计?要统计出注释多少行,和代码多少行?使用cloc就行。

cloc是一款使用Perl语言开发的开源代码统计工具支持多平台使用、多语言识别

mac上安装cloc还是用brew最为简单, brew install cloc 即可。

cloc自身项目也是开源的,github地址为:https://github.com/AlDanial/cloc 里面有使用说明。当然你也可以查看help命令

有兴趣的同学可以看下这个开源项目,代码就完全一个文件,1万7千多行的一个perl文件!!!真是非常的极客风范。

我这里列一下几个可能用到的使用方式。

显示cloc支持的语言

cloc --show-lang

排除某个目录分析项目

cloc ./ --exclude-dir=node_modules

统计代码行数(排除注释)排名前10的go文件

cloc --quiet -by-file ./ --exclude-dir=node_modules --include-lang=Go|grep ".go"|sort -rn -k 4 | head -n 10

这个命令稍微解释下,首先--quiet是把输出结果精简化了,一些总计的结果给过滤了。然后使用-by-file 代表统计的时候按照文件统计,而不是按照默认的语言统计, --e xclude-dir 表示省略node_modules文件夹。 --include-lang 这里直接标记将Golang的文件统计出来。

上面这些cloc的命令就把./下有哪些go文件,每个文件的空格多少行,注释多少行,真正代码多少行都列出来了。然后使用grep ".go" 把一些噪音输出过滤掉,只留下“文件名\t空格行数\t注释行数\t代码行数”,后面的sort -rn -k 4 按照第四列(代码行数)倒序排列,并且 head -n 10 显示前10个文件。

cloc的使用估计还有很多用法,功能也非常强大,只有用时再琢磨了。

一个文件实现了这么多功能。为这个项目点个star~

参考

https://juejin.cn/post/6844904015449309191

https://blog.csdn.net/m0_37194132/article/details/85043351

https://github.com/AlDanial/cloc

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部