如何统计项目代码?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/#/

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

相关推荐
前端小小王10 分钟前
React Hooks
前端·javascript·react.js
迷途小码农零零发20 分钟前
react中使用ResizeObserver来观察元素的size变化
前端·javascript·react.js
娃哈哈哈哈呀42 分钟前
vue中的css深度选择器v-deep 配合!important
前端·css·vue.js
盛派网络小助手1 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
旭东怪1 小时前
EasyPoi 使用$fe:模板语法生成Word动态行
java·前端·word
∝请叫*我简单先生1 小时前
java如何使用poi-tl在word模板里渲染多张图片
java·后端·poi-tl
zquwei2 小时前
SpringCloudGateway+Nacos注册与转发Netty+WebSocket
java·网络·分布式·后端·websocket·网络协议·spring
dessler3 小时前
Docker-run命令详细讲解
linux·运维·后端·docker
ekskef_sef3 小时前
32岁前端干了8年,是继续做前端开发,还是转其它工作
前端