趁给 gear-docs 做体检的时候跑了下 cloc:
|
|
结果:
- 596 个源文件(406 个被 ignore 了)
- 110,593 行代码(不含 blank 和 comment)
- 58,827 行注释——注释比代码还多,说明写得很认真
语言构成
| 语言 | 文件数 | 代码行 | 占比 |
|---|---|---|---|
| TypeScript | 272 | 49,364 | 44.6% |
| JavaScript | 135 | 31,692 | 28.7% |
| JSON | 36 | 15,055 | 13.6% |
| SCSS | 73 | 7,311 | 6.6% |
| CSS | 37 | 4,420 | 4.0% |
| HTML | 3 | 1,758 | 1.6% |
| SVG | 37 | 930 | 0.8% |
| Markdown | 1 | 39 | 0.04% |
几个有趣的观察
1. TypeScript + JavaScript 占 73%
gear-docs 本质上是一个高度工程化的文档站点。272 个 TS 文件和 135 个 JS 文件,说明里面的交互逻辑、地图组件、可视化模块都不少。
2. 注释密度很高
TypeScript 就有 46,093 行注释,代码才 49,364 行——注释/代码比接近 1:1。这说明 gear-docs 的代码质量要求比一般项目高。
3. SCSS + CSS 样式体量不小
73 个 SCSS + 37 个 CSS 文件,总共 11,731 行。gear-docs 花了不少力气在设计上。
4. JSON 数据文件占比 13.6%
15,055 行 JSON 主要应该是 Hugo 的配置文件和数据。
5. HTML 只有 3 个文件?
那是因为 Hugo 是静态生成,HTML 全在 public/ 里。源文件只保留必要的模版。
三语工程的一个缩影
这张表背后是 286 篇英文 + 286 篇西班牙文的翻译工程。在一个 Hugo + TypeScript + SCSS 的工程化架构上,同时维护三个语言版本,还能保持代码整洁——Gear 对代码质量的要求确实不低。
统计工具:cloc v2.08