资讯详情

资讯详情

cloc 代码统计入门:一条命令看懂项目的空白行、注释行与代码行

cloc 代码统计入门一条命令看懂项目的空白行、注释行与代码行【免费下载链接】cloccloc counts blank lines, comment lines, and physical lines of source code in many programming languages.项目地址: https://gitcode.com/gh_mirrors/cl/cloccloc 是一款开源代码统计工具它按语言读取源码逐行统计空白行、注释行和物理代码行输出每种语言的行数明细。输入可以是单个文件、整个目录、压缩包也可以是 Git 仓库中的某个版本。cloc 统计的是什么cloc 的核心工作是把每个源文件逐行归类成三种性质这也是结果表里三列数字的由来blank 空白行整行只有空白字符反映排版疏密comment 注释行单行注释和块注释都计入注释占比高往往意味着文档写得细也可能意味着注释和代码脱节code 物理代码行真正承载逻辑的行也就是常说的代码行数同一语言内的多文件会汇总到这一行。统计对象不限于散落的文件传一个路径就递归整个目录树tar.gz、zip 这类压缩包可以直接展开统计不用先解压配合--git还能锁定仓库里的某个 commit。扫描时它会自动跳过 .git、.svn 等版本控制目录避免把对象文件和历史副本算进总数。把 cloc 装进开发环境最简单的路径是系统包管理器Debian/Ubuntu 下一行装完sudo apt install cloc装完用cloc --version确认版本即可。其余方式一句话带过官方分发是一个单文件 Perl 脚本拷到目标机器就能跑不挑环境如果不想污染本机也可以按仓库里的 Dockerfile 起一个容器执行。跑第一条统计命令读懂结果表先在一个文件上跑最简命令cloc hello.c输出是一张按语言汇总的表第一列Language是语言名files是被统计的文件数后面的blank、comment、code分别对应上面三种行。最后一行TOTAL把所有语言加总。读表时先看 TOTAL 判断整体规模再看各语言占比如果某个文件对应的语言没出现在表里说明它没被识别通常是扩展名不在内置语言表内。按场景使用版本对比、结果导出、范围过滤、批量统计版本对比用法要量化这个迭代到底改了多少用cloc --diff v1.0 v2.0对比两个版本两个目录或两个压缩包输出每种语言在空白行、注释行、代码行上的增减比翻 diff 更直观。统计结果导出统计结果要进 Excel 或 CI 报告时加cloc --json --outreport.json src/导出 JSON--csv、--xml、--md同理换格式不换命令结构。目录与语言过滤第三方依赖和生成物会污染总数。cloc --exclude-dirnode_modules,build src/排除目录反过来想只看某几种语言用--include-langPython,JavaScript。多项目批量统计一组子项目想横向对比时用一行 shell 循环每个子目录输出一个 CSV最后用表格软件汇总。效率与边界处理并行加速大型 monorepo 单进程扫起来偏慢cloc --processes4 src/把工作分给 4 个进程多核机器上提速明显。文件大小限制遍历目录时默认跳过超过 100 MB 的文件因为内存占用约是单文件体积的 20 倍。确实需要统计超大文件时用--max-file-size500放宽阈值单位 MB注意这个限制只作用于目录遍历文件作为参数显式传入时不检查。无扩展名文件指定语言没有扩展名的文件默认靠首行 shebang 猜脚本类型猜不出的文件会被跳过不会计入语言统计。用--lang-no-extBash可以强制按指定语言计数参数里写的是语言名比如 Bash、Makefile。cloc 适合放进例行动作比如每周项目报告、PR 审查前的规模自检、CI 里的代码量趋势。它给出的数字客观且可复现比凭印象估算项目大小更可靠。参数细节以 man 页源码 Unix/cloc.1.pod 为准工具本体是单文件脚本 Unix/cloc整体介绍见 README.md。【免费下载链接】cloccloc counts blank lines, comment lines, and physical lines of source code in many programming languages.项目地址: https://gitcode.com/gh_mirrors/cl/cloc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →