代码量统计方案
有两种,一种是在线工具,一种是拉取到本地统计。
公开的中小型开源从仓库可以用在线工具,离线的私有或
大型需要本地。
在线统计
有一些工具提供针对 github 等开源公共仓库直接的代码统计:

本地统计
推荐以下两种:
tokei 似乎更快一点。
➜ develop tokei PracticeDev/ (base)
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
C 24 5810 4020 1079 711
C Header 27 11399 8802 910 1687
C Shell 1 27 12 5 10
C++ 61 6960 5622 533 805
C++ Header 2 403 282 48 73
Dockerfile 1 15 11 0 4
Fish 1 69 42 14 13
Go 7 578 431 42 105
INI 1 6 3 2 1
JavaScript 6 660 574 56 30
JSON 2 15318 15318 0 0
Makefile 2 57 36 4 17
Markdown 2 94 0 76 18
Perl 5 74 51 10 13
PowerShell 1 247 108 106 33
Python 1051 413682 338202 26114 49366
SVG 1 1 1 0 0
SWIG 1 33194 23001 0 10193
Plain Text 20 997 0 952 45
=========================================
还有更多选择:
| 工具 | 实现语言 | 支持统计语言 | 相对性能 | 特殊特性 |
|---|---|---|---|---|
| cloc | Perl | 支持超过100种编程语言 | 中等 | 可以忽略空行、注释行,可以对比两个版本的代码差异 |
| SLOCCount | C++ | C, C++, Java, Perl, Shell等 | 较高 | 可以估算项目成本,支持多种输出格式如CSV、XML等 |
| Ohcount | C | 支持超过70种编程语言 | 中等 | 支持多种语言混编的统计,提供了许可证检测功能 |
| Tokei | Rust | 支持超过150种编程语言 | 较高 | 可以并行处理文件,性能优秀 |
| gocloc | Go | 支持超过100种编程语言 | 较高 | 性能优秀,可以处理大型项目 |
以上信息仅供参考,具体性能和特性可能会因为工具版本的更新而有所变化。