Bootstrap

代码统计工具cloc

cloc 是一个用于统计代码行数的工具,它会分析代码库中的文件,并按照语言分类统计空白行、注释行和代码行。

安装

sudo apt install cloc

使用

cloc <dir>

输出结果

 438 text files.
 433 unique files.                                          
  41 files ignored.
  github.com/AlDanial/cloc v 1.90  T=0.44 s (910.8 files/s, 282963.4 lines/s)
  Language                      files          blank        comment           code
  C                               127           7481           5297          42391
  JavaScript                       86           4524           3270          22187
  C/C++ Header                     63           1609           3163          17044
  PO File                          16           1176           1331           2480
  SVG                              24             25             24           2363
  Markdown                         16            573              0           1659
  JSON                             21              1              0           1296
  CMake                             6            158            147            997
  CSS                               2            132            168            903
  XML                               5            107              2            592
  HTML                              3             68             45            434
  Perl                              4             68             87            333
  C++                               4             48             50            299
  Qt                                1              0              0            290
  Bourne Again Shell                3             39             23            245
  YAML                              7             18              1            227
  Meson                             4             31              0            220
  Qt Linguist                       1              0              0            103
  Python                            1             20             35             76
  Bourne Shell                      3              9             21             27
  make                              1              6              0             15
  diff                              1              4             11             11
  SUM:                            399          16097          13675          94192

输出解析

以下是对输出结果的详细解析:

  1. 文件统计
    438 text files:总共检测到 438 个文本文件。
    433 unique files:其中有 433 个是唯一的文件(可能有重复文件被忽略)。
    41 files ignored:有 41 个文件被忽略(可能是由于文件类型未被识别或配置了忽略规则)。

  2. 统计速度
    T=0.43 s:统计耗时 0.43 秒。
    930.6 files/s:每秒处理 930.6 个文件。
    289110.7 lines/s:每秒处理 289,110.7 行。

  3. 语言分类统计
    cloc 将代码库中的文件按语言分类,并统计每种语言的以下内容:

files:文件数量。
blank:空白行数。
comment:注释行数。
code:代码行数。

  1. 总计
    SUM:所有语言的总和。
    files:399 个文件。
    blank:16,097 行空白行。
    comment:13,675 行注释行。
    code:94,192 行代码行。

  2. 分析
    主要语言:C 语言的文件数量最多(127 个),代码行数也最多(42,391 行),其次是 JavaScript 和 C/C++ 头文件。

空白行和注释:C 语言的空白行和注释行最多,说明代码格式规范且注释较多。
非代码文件:Markdown、JSON、SVG 等文件主要用于文档、配置或资源,代码行数较少。
脚本语言:Perl、Python、Shell 脚本的文件数量和代码行数较少,可能是辅助脚本或工具。

  1. 总结
    该代码库以 C 语言为主,JavaScript 和 C/C++ 头文件为辅。
    代码库总行数为 94,192 行,其中空白行和注释行占比较高,说明代码可读性和维护性较好。
    如果需要进一步优化代码库,可以关注 JavaScript 和 C/C++ 头文件的代码质量。
;