要想成爲一名合格的程序猿,首先,必須得有必定代碼量的積累,量變產生質變,在學習工做了一段時間後你確定會很想知道本身的能力(shou su)到底提高了沒有,其中一個重要的衡量指標就是你敲(ban yun)了多少行代碼。html
今天就給你們推薦一個簡單粗暴又好用的神器——cloc,全稱是count lines of code,它是一款使用Perl語言開發的開源代碼統計工具,支持多平臺使用、多語言識別。從名字就能夠直觀地知道它的功能:幫助你計算文件中的有效代碼數量,而且會自動排除註釋和空格。git
<1>下載安裝過程極其簡單,不論什麼操做系統,基本經過一行指令就能夠搞定!github
<2>可以從源碼文件中識別編程語言、註釋以及定義;npm
<3>容許經過不一樣編程語言和項目,來分開統計計算;編程
<4>可以以純文本、SQL、XML、YAML、逗號分隔等多樣化的格式生成統計結果;編程語言
<5>可以統計諸如rar、zip等格式的壓縮文件中的代碼數;(這個功能簡直逆天!)工具
<6>有許多排除式的指令,讓你更方便的控制想計算哪些文件中的代碼數;學習
<7>可以使用空格或者不經常使用的字符處理文件名和目錄名;測試
<8>不須要依賴外部標準的Perl語言配置,雖然它的親爸爸就是Perl;網站
<9>支持多平臺使用,適用於全部Linux底層操做系統。
在github上能夠看到它完整的更新日誌,這是下載連接
https://github.com/AlDanial/cloc
首先來看一下它的官網,長這樣
整個網站的設計簡潔到讓你懷疑它根本沒有設計過,做爲一個顏控,拼盡全力才控制住了把鼠標移到右上角關閉頁面的衝動。
安裝cloc是一個簡單到不須要動腦的過程,完整的針對不一樣系統的操做命令能夠在官網查到,這裏就說一種最方便的使用npm下載工具包的方法:
<1>打開終端,輸入:npm install cloc -g(mac用戶請在前面加sudo),安裝到全局。
<2>放下鼠標,泡上一杯清茶,靜靜地等待下載完成(速度很快,根原本不及喝)。
首先執行cd 文件夾路徑 配置一下你想要檢測的目標路徑,再執行cloc .(中間有個空格!)命令,開始檢測。
拿一階段的代碼舉例:
在執行完cloc命令以後它會計算不一樣編程語言的文件數(files)、空行(blank)、註釋(comment)和代碼行數(code),而且最後返回SUM總數。統計結果清晰明瞭,並且速度快的飛起,絕對不會耽誤你發朋友圈裝(——消音)。
若是你想按每一個文件逐個進行識別,請執行cloc —by-file .命令,它將會計算每一個文件中的代碼數,對於文件量龐大的任務來講慎用這條命令,我測試的結果是直接執行clock .檢測整個文件夾和執行cloc —by-file .逐個文件檢測兩次運行最後的結果是同樣的,惟一的不一樣就是逐個檢查可讓你清楚的看到都有哪些文件參與了計算。
若是你不想計算當前文件夾下面的某個文件中的代碼,可使用cloc ./ —exclude-dir=文件夾名稱命令排除該文件夾,排除多個文件夾只須要文件夾名稱中間用逗號分隔。
例如:cloc ./ —exclude-dir=html,js
想一次計算多個文件或者文件夾時中間使用空格隔開,例如:cloc 01.html 02.html js(js是文件夾鴨)
下面列出一些cloc比較經常使用的指令:
--diff <set1> <set2> - 計算set1和set2的源文件之間的代碼差別。 輸入能夠是文件和目錄的混合。
--ignore-whitespace - 在使用--diff比較文件時忽略水平空格。
--max-file-size=<MB> - 若是要跳過大於給定大小MB的文件。
--exclude-dir=<dir1>,<dir2> - 排除給定的逗號分隔目錄。
--exclude-ext=<ext1>,<ext2> - 排除給定的文件擴展名。
--out=<file> - 將結果保存到<file> 。
--quiet - 禁止全部信息消息並僅顯示最終報告。
關於更多完整命令能夠輸入clock —help查看完整使用文檔,基本上對於計算代碼數來講cloc .就夠用了,可是它還有不少強大的功能,例如批量刪除註釋,統計壓縮包,設置忽略文件,有興趣的小夥伴,能夠自行拓展。
雖然老師說按照課程進度,二階段結束後代碼量就會輕鬆突破十萬行,可是當看到實際計算結果返回100萬的時候仍是震精了一下,此處偷偷的給本身鼓個掌。
雖然已經離開學校好久了,可是一直沒有中止過學習,我始終以爲在獲取知識的道路上,我就是一隻笨笨的小菜鳥,雖然飛的不高,可是歷來沒有中止過。
在鄉下農民常說:「你作三四月份的事,在七八月份自會有答案」。而年輕人的職責是平整土地而非焦灼時間,我想這也正是學習的意義吧,與君共勉。