如何统计项目代码?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 小时前
米哈游Java面试被问:机器学习模型的在线服务和A/B测试
java·开发语言·数据库·spring boot·后端·机器学习·word
计算机学姐11 小时前
基于SpringBoot的美食分享交流平台
java·spring boot·后端·spring·java-ee·intellij-idea·美食
毕设源码-郭学长11 小时前
【开题答辩全过程】以 基于Web的高校课程目标达成度系统设计与实现为例,包含答辩的问题和答案
前端
wuhen_n11 小时前
高阶函数与泛型函数的类型体操
前端·javascript·typescript
源代码•宸12 小时前
Leetcode—746. 使用最小花费爬楼梯【简单】
后端·算法·leetcode·职场和发展·golang·记忆化搜索·动规
ヤ鬧鬧o.12 小时前
多彩背景切换演示
前端·css·html·html5
毕设源码-朱学姐13 小时前
【开题答辩全过程】以 基于Django框架中山社区社会补助系统为例,包含答辩的问题和答案
后端·python·django
lethelyh13 小时前
Vue day1
前端·javascript·vue.js
酉鬼女又兒13 小时前
SQL113+114 更新记录(一)(二)+更新数据知识总结
java·服务器·前端
无风听海13 小时前
AngularJS中 then catch finally 的语义、执行规则与推荐写法
前端·javascript·angular.js