mitoteam / mt-howmany
命令行工具,用于统计项目源代码大小、文件数量、行数
1.2.0
2022-08-31 09:21 UTC
Requires
- php: >=7.0
- symfony/console: >=4.4
- symfony/string: >=5.4
- symfony/yaml: >=4.4
README
命令行工具,用于测量项目源代码大小、文件数量、行数、字符数。您可以排除供应商库、二进制文件、生成的代码等。
我们的目标是了解在各个项目中,我们亲手编写了多少代码字符、行数和页数。
安装
像往常一样将其添加为composer依赖项
composer require mitoteam/mt-howmany
或者您可以将依赖项手动添加到您的composer.json
文件中。
使用方法
工具将标准composer二进制文件安装到vendor/bin/mt-howmany。因此,您可以直接从shell调用它
vendor/bin/mt-howmany
或在Windows下
vendor\bin\mt-howmany.bat
它在当前目录中查找配置。默认情况下,它递归地扫描当前目录,但您可以在配置中设置要扫描的具体路径。配置中还有许多选项。
您可以使用import
选项从其他文件导入配置(例如,在项目之间共享一些公共部分)。
查看示例配置以获取详细信息:mt-howmany.example.yml
对于配置中未忽略的每个文件,工具都会计算行数、文件大小和字符数(使用symphony/string
处理Unicode和多字节字符)。
扫描完成后,它会打印出收集到的数据和整个项目的最终总数。
您可以使用-v
或-vv
参数来增加输出详细程度。
-v
添加路径统计表(有助于了解从扫描中排除什么,以便只留下真正的代码)。
-vv
此外还会打印出每个文件的完整数据,以便更好地了解数字的来源。
--single
选项开启“单值模式”。程序将只打印一个值,没有其他输出(如果没有错误)。这对于CI、自动化等非常有用。可能的选项值:CHARS
、LINES
、PAGES
。示例
mt-howmany --single=LINES
欢迎提出注释、错误报告、建议和pull requests。
输出示例
mt-howmany by MiTo Team
=======================
Working directory: /www/binardo.mt.test
Config file loaded: /www/binardo.mt.test/web/modules/custom/mtlapbase/mt-howmany.common.yml
Config file loaded: /www/binardo.mt.test/mt-howmany.yml
Results by file extension
=========================
----------- -------- ------------ ------------- -------
Type Size Characters Files Count Lines
----------- -------- ------------ ------------- -------
php 777Kb 782756 174 32225
twig 50.0Kb 51145 26 1471
scss 29.8Kb 30464 47 1886
js 17.1Kb 17276 11 637
yml 15.5Kb 15767 18 621
sh 9.59Kb 9816 11 348
po 3.69Kb 2965 1 164
json 3.27Kb 3344 4 127
module 3.10Kb 3176 2 131
theme 3.06Kb 3133 2 123
gitignore 2.23Kb 2280 2 82
md 2.08Kb 1323 6 38
txt 139 139 1 8
htaccess 38 38 2 4
----------- -------- ------------ ------------- -------
Totals
======
Types count: 14
Paths count: 67
Files count: 307
Size: 916Kb
Characters: 923622
Lines: 37865
Pages by Characters: 257
Pages by Lines: 1052