代码量统计方案

· Frytea · 5 分钟 · 技术笔记
代码量统计方案

有两种,一种是在线工具,一种是拉取到本地统计。

公开的中小型开源从仓库可以用在线工具,离线的私有或

大型需要本地。

在线统计

有一些工具提供针对 github 等开源公共仓库直接的代码统计:

nfq6ca.png

本地统计

推荐以下两种:

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种编程语言 | 较高 | 性能优秀,可以处理大型项目 |

以上信息仅供参考,具体性能和特性可能会因为工具版本的更新而有所变化。

References