今天領導突然問我咱們的項目有多少行代碼,這么一問直接把我問懵了,對啊,怎么統計項目有多少行代碼呢?查了一下資料,把這個問題解決了,具體方法如下:
打開終端,用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 起支持)。