有了Cloc,讓你的每一行代碼都算數(shù)

要想成為一名合格的程序猿,首先,必須得有一定代碼量的積累,量變產(chǎn)生質(zhì)變,在學習工作了一段時間后你肯定會很想知道自己的能力(shou su)到底提升了沒有,其中一個重要的衡量指標就是你敲(ban yun)了多少行代碼。

今天就給大家推薦一個簡單粗暴又好用的神器——cloc,全稱是count lines of code,它是一款使用Perl語言開發(fā)的開源代碼統(tǒng)計工具,支持多平臺使用、多語言識別。從名字就可以直觀地知道它的功能:幫助你計算文件中的有效代碼數(shù)量,并且會自動排除注釋和空格。

1、先吹一波colc

<1>下載安裝過程極其簡單,不論什么操作系統(tǒng),基本通過一行指令就可以搞定!

<2>能夠從源碼文件中識別編程語言、注釋以及定義;

<3>允許通過不同編程語言和項目,來分開統(tǒng)計計算;

<4>能夠以純文本、SQL、XML、YAML、逗號分隔等多樣化的格式生成統(tǒng)計結果;

<5>能夠統(tǒng)計諸如rar、zip等格式的壓縮文件中的代碼數(shù);(這個功能簡直逆天!)

<6>有許多排除式的指令,讓你更方便的控制想計算哪些文件中的代碼數(shù);

<7>能夠使用空格或者不常用的字符處理文件名和目錄名;

<8>不需要依賴外部標準的Perl語言配置,雖然它的親爸爸就是Perl;

<9>支持多平臺使用,適用于所有Linux底層操作系統(tǒng)。

2、下載安裝

在github上可以看到它完整的更新日志,這是下載鏈接

https://github.com/AlDanial/cloc

首先來看一下它的官網(wǎng),長這樣

http://cloc.sourceforge.net

整個網(wǎng)站的設計簡潔到讓你懷疑它根本沒有設計過,作為一個顏控,拼盡全力才控制住了把鼠標移到右上角關閉頁面的沖動。

安裝cloc是一個簡單到不需要動腦的過程,完整的針對不同系統(tǒng)的操作命令可以在官網(wǎng)查到,這里就說一種最方便的使用npm下載工具包的方法:

<1>打開終端,輸入:npm install cloc -g(mac用戶請在前面加sudo),安裝到全局。

<2>放下鼠標,泡上一杯清茶,靜靜地等待下載完成(速度很快,根本來不及喝)。

3、運行cloc

首先執(zhí)行cd 文件夾路徑?配置一下你想要檢測的目標路徑,再執(zhí)行cloc .(中間有個空格?。┟睿_始檢測。

拿一階段的代碼舉例:

在執(zhí)行完cloc命令之后它會計算不同編程語言的文件數(shù)(files)、空行(blank)、注釋(comment)和代碼行數(shù)(code),并且最后返回SUM總數(shù)。統(tǒng)計結果清晰明了,而且速度快的飛起,絕對不會耽誤你發(fā)朋友圈裝(——消音)。

如果你想按每個文件逐個進行識別,請執(zhí)行cloc —by-file .命令,它將會計算每個文件中的代碼數(shù),對于文件量龐大的任務來說慎用這條命令,我測試的結果是直接執(zhí)行clock .檢測整個文件夾和執(zhí)行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查看完整使用文檔,基本上對于計算代碼數(shù)來說cloc .就夠用了,但是它還有很多強大的功能,例如批量刪除注釋,統(tǒng)計壓縮包,設置忽略文件,有興趣的小伙伴,可以自行拓展。

雖然老師說按照課程進度,二階段結束后代碼量就會輕松突破十萬行,但是當看到實際計算結果返回100萬的時候還是震精了一下,此處偷偷的給自己鼓個掌。

雖然已經(jīng)離開學校很久了,但是一直沒有停止過學習,我始終覺得在獲取知識的道路上,我就是一只笨笨的小菜鳥,雖然飛的不高,但是從來沒有停止過。

在鄉(xiāng)下農(nóng)民常說:“你做三四月份的事,在七八月份自會有答案”。而年輕人的職責是平整土地而非焦灼時間,我想這也正是學習的意義吧,與君共勉。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 第1章 小試牛刀 $ 是普通用戶,# 表示管理員用戶 root。 shebang:#!。sharp / hash ...
    巴喬書摘閱讀 6,674評論 1 4
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,717評論 0 5
  • feisky云計算、虛擬化與Linux技術筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,355評論 0 5
  • 原材料引用(Materials) 原文: The condition is called cardiac arre...
    貔Q閱讀 228評論 0 1
  • 買了一件很貴的衣服,下了半天決心,終于買了。沒辦法,就是喜歡啊。 斷舍離中說,要買自己喜歡合適和需要的,因為那就是...
    莊周夢蝶_d1b5閱讀 283評論 0 0

友情鏈接更多精彩內(nèi)容