zoukankan      html  css  js  c++  java
  • 丈量你的代码,从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

    image

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

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

    image

    这个命令稍微解释下,首先--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

    实时了解作者更多技术文章,技术心得,请关注微信公众号“轩脉刃的刀光剑影”

    本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演绎,但是必须保留本文的署名叶剑峰(包含链接http://www.cnblogs.com/yjf512/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系

  • 相关阅读:
    字符串算法—正则表达式
    字符串算法—字符串搜索
    字符串算法—字典树
    字符串算法—字符串排序(下篇)
    字符串算法—字符串排序(上篇)
    图表算法—最短路径
    基本算法——前缀和与差分
    图论——图的表示
    基本算法——康托展开与逆康托展开
    基本算法——离散化
  • 原文地址:https://www.cnblogs.com/yjf512/p/15707619.html
Copyright © 2011-2022 走看看