今天領(lǐng)導(dǎo)突然問我咱們的項(xiàng)目有多少行代碼,這么一問直接把我問懵了,對啊,怎么統(tǒng)計(jì)項(xiàng)目有多少行代碼呢?查了一下資料,把這個(gè)問題解決了,具體方法如下:
打開終端,用cd命令 定位到工程所在的目錄,然后在終端輸入下面這條指令即可把每個(gè)源代碼文件行數(shù)及總數(shù)統(tǒng)計(jì)出來:
find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" ")" -print | xargs wc -l
其中 -name "*.m" 就表示擴(kuò)展名為.m的文件。
當(dāng)要統(tǒng)計(jì)是swift 和OC混編項(xiàng)目的時(shí)候,要加上 -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
總結(jié)一下:其實(shí)name后面的雙引號引起來的就是一個(gè)星號、一個(gè)小數(shù)點(diǎn)、再加上一個(gè)文檔的后綴名
說的這里,我估計(jì)大家已經(jīng)猜出來統(tǒng)計(jì)java文件和xml文件的命令了,是什么呢?
Java
find . "(" -name "*.java" ")" -print | xargs wc -l
XML
find . "(" -name "*.xml" ")" -print | xargs wc -l
最后,附上一張截圖,Total即為項(xiàng)目總代碼量

Total即為項(xiàng)目總代碼量
補(bǔ)充一個(gè)工具,也可以檢測PPRows
- 支持檢測參與計(jì)算的代碼文件夾數(shù)量以及代碼行數(shù);
- 支持同時(shí)檢測多文件 / 多文件夾代碼;
支持自定義檢測的文件類型,例如: C,Swift,OC,Java... 類型的代碼文件; - 支持自定義需要忽略檢測的文件夾, 例如: iOS 工程中的 Pods 文件夾;
- 支持中文與英文,跟隨系統(tǒng)語言變化 (v1.1.0 起支持);
-
支持忽略代碼中的空行,代碼行數(shù)計(jì)算更精確(v1.2.0 起支持)。
