介绍
在工作中经常会有统计代码行数的需要, 在这儿介绍一个很不错的代码行数统计工具, cloc, 这个一个开源软件,主页在here, 默认输出的格式非常友好, 支持linux和window平台,而且在ubuntu上可以直接通过apt-get 来安装(ubuntu16.04)仓库中的版本有bug,大家尽量使用18.04中的版本。
常用的功能
我个人在使用的时候感觉最经常用的就是排除功能,在统计的时候,一般会希望排除掉一些测试用的代码还有第三方的库文件,比如boost之类,cloc支持使用路径进行屏蔽,也支持创建一个列表,将不希望统计的路径添加进去,我通常会创建一个.clocignore的文件,代码如下:
–exclude-list-file=.clocignore
通常在排除test代码的时候, 由于很多目录下都有test这个文件夹, 如果手动将所有test文件夹添加到.clocignore文件中非常麻烦, 比如a/test, b/test, c/d/test, 如果同名文件夹很多的话,确实比较麻烦, 但是目前exclude list好像不支持通配符, 所以一次性屏蔽所有的test文件夹无法实现, 但是我们可以通过–exlcude-dir来解决这个问题.
所以clocignore文件中只添加第三方库文件, 其余的文件通过–exlcude-dir来解决,最终的命令行如下:
–exclude-list-file=.clocignore --exlcude-dir=test
BTW
cloc还有一个优势就是更新的速度,作者本人也非常nice,有问题的话,在git主页提问,作者一般也都回复的很快。所以如果大家有问题的话,可以去软件的主页创建issue进行提问。