如何统计项目代码?So easy~

大家好,我是 Java陈序员,我们无论是卑微的码农还是项目管理者,常常需要统计项目的代码行数,甚至有时候代码行数的多少会影响年终😭。

虽然说 IDE 能帮忙统计代码行数,但往往只是单文件内、单语言的统计,如果是一个庞大的项目要如何统计呢?

今天,给大家介绍一个统计项目代码行数的工具------ cloc.

项目介绍

cloc 支持对多种编程语言中的空白行、注释行和源代码的物理行进行计数。

给定代码库的两个版本,cloc 可以计算空白行、注释行和源代码行中的差异。

除了统计单个文本文件、目录和 git 存储库中的代码外, cloc 还可以统计 .tar (包括压缩版本)、 .zip.whlipynb.rpm.src.deb 等类型的文件。

项目地址:

bash 复制代码
https://github.com/AlDanial/cloc

下载地址:

bash 复制代码
https://github.com/AlDanial/cloc/releases

安装使用

可以根据操作系统,选择对应的方法进行安装:

bash 复制代码
 
npm install -g cloc              # https://www.npmjs.com/package/cloc
sudo apt install cloc            # Debian, Ubuntu
sudo yum install cloc            # Red Hat, Fedora
sudo dnf install cloc            # Fedora 22 or later
sudo pacman -S cloc              # Arch
sudo emerge -av dev-util/cloc    # Gentoo https://packages.gentoo.org/packages/dev-util/cloc
sudo apk add cloc                # Alpine Linux
doas pkg_add cloc                # OpenBSD
sudo pkg install cloc            # FreeBSD
sudo port install cloc           # macOS with MacPorts
brew install cloc                # macOS with Homebrew
choco install cloc               # Windows with Chocolatey
scoop install cloc               # Windows with Scoop

Windows 系统,也可以选择下载 .exe 文件:

使用 cmd 命令窗口执行。

统计单个文件代码

指定某个文件来统计行数

统计整个项目代码

统计整个项目代码,可以看到可以根据不同的语言来输出文件数、空行、注释和代码行数

统计压缩包代码

cloc 更为强大的一点是可以统计压缩包里面的代码行数!

不同格式输出

cloc 可以将代码统计结果按照不同格式输出,只要在后见加上参数即可。比如想要输出 JSON 格式,则使用参数 --json.

JSON 的格式输出

Yaml 的格式输出

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

bash 复制代码
https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

bash 复制代码
https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

相关推荐
candyTong4 分钟前
深入解析:AI 智能体(Agent)是如何解决问题的?
前端·agent·ai编程
柳杉13 分钟前
建议收藏 | 2026年AI工具封神榜:从Sora到混元3D,生产力彻底爆发
前端·人工智能·后端
weixin_4624462316 分钟前
使用 Puppeteer 设置 Cookies 并实现自动化分页操作:前端实战教程
运维·前端·自动化
仙俊红21 分钟前
spring的IoC(控制反转)面试题
java·后端·spring
CheungChunChiu32 分钟前
Linux 内核动态打印机制详解
android·linux·服务器·前端·ubuntu
小楼v33 分钟前
说说常见的限流算法及如何使用Redisson实现多机限流
java·后端·redisson·限流算法
与遨游于天地1 小时前
NIO的三个组件解决三个问题
java·后端·nio
czlczl200209251 小时前
Guava Cache 原理与实战
java·后端·spring
GIS之路1 小时前
GDAL 创建矢量图层的两种方式
前端
Yuer20252 小时前
什么是 Rust 语境下的“量化算子”——一个工程对象的最小定义
开发语言·后端·rust·edca os·可控ai