今天领导突然问我咱们的项目有多少行代码,这么一问直接把我问懵了,对啊,怎么统计项目有多少行代码呢?查了一下资料,把这个问题解决了,具体方法如下:
打开终端,用cd命令 定位到工程所在的目录,然后在终端输入下面这条指令即可把每个源代码文件行数及总数统计出来:
find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" ")" -print | xargs wc -l
其中 -name "*.m" 就表示扩展名为.m的文件。
当要统计是swift 和OC混编项目的时候,要加上 -or -name "*.swift" 所以输入的指令也就变成了下面这条指令
find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" -or -name "*.swift" ")" -print | xargs wc -l
总结一下:其实name后面的双引号引起来的就是一个星号、一个小数点、再加上一个文档的后缀名
说的这里,我估计大家已经猜出来统计java文件和xml文件的命令了,是什么呢?
Java
find . "(" -name "*.java" ")" -print | xargs wc -l
XML
find . "(" -name "*.xml" ")" -print | xargs wc -l
最后,附上一张截图,Total即为项目总代码量
Total即为项目总代码量
补充一个工具,也可以检测PPRows
- 支持检测参与计算的代码文件夹数量以及代码行数;
- 支持同时检测多文件 / 多文件夹代码;
支持自定义检测的文件类型,例如: C,Swift,OC,Java... 类型的代码文件; - 支持自定义需要忽略检测的文件夹, 例如: iOS 工程中的 Pods 文件夹;
- 支持中文与英文,跟随系统语言变化 (v1.1.0 起支持);
-
支持忽略代码中的空行,代码行数计算更精确(v1.2.0 起支持)。