Linux下如何統(tǒng)計(jì)代碼行數(shù)?
謝謝邀請(qǐng)我,
linux下編程已經(jīng)玩了十幾年了。這個(gè)巨無霸里面有很多有趣的東西,尤其是腳本的巧妙運(yùn)用可以大大提高代碼開發(fā)的效率。記得剛接觸linux的時(shí)候,覺得太有意思了,于是在linux下非常努力的干了兩年才開始工作。看到劇本就想研究一下。工作一年多的時(shí)候,公司整個(gè)編制體系都被重構(gòu)了。一旦出現(xiàn)編譯問題或環(huán)境問題,每個(gè)人都會(huì)來找我。那種剛?cè)胄械某删透惺菬o法用語言表達(dá)的。linux下的Cmake、automake、autoconf、m4、perl、bash、ash、qmake等自動(dòng)編譯系統(tǒng)看到這些都很興奮。后來寫代碼的時(shí)候,他們習(xí)慣了直接用vim寫。雖然在聯(lián)想上有一些區(qū)別,但是巧妙的運(yùn)用還是很有效率的。
為什么很多人都有一種linux的感覺?主要原因是編程語言和現(xiàn)在的linux有點(diǎn)關(guān)系。C語言的創(chuàng)始人在創(chuàng)造C語言的時(shí)候,最初是把unix綁在一起的。那么多程序員喜歡Mac,也有點(diǎn)歷史淵源。他們談了這么多,主要是提到linux本身也有很多話要說,以后會(huì)繼續(xù)在上面玩。讓讓我們回到主題:如何統(tǒng)計(jì)linux下的代碼行數(shù)?
可以借助工具直接做,也可以直接用腳本做。現(xiàn)在你是按照你接觸過的一些工具或者命令行來做的。
1.直接采用wc命令。現(xiàn)在,在webkit內(nèi)核的源代碼中選擇一個(gè)cpp文件來分析formform進(jìn)行行號(hào)統(tǒng)計(jì)。
wc-l表單提交.cpp
注意這個(gè)文件在當(dāng)前目錄中的位置。
這個(gè)文件的行號(hào)是254。為了驗(yàn)證準(zhǔn)確性,我直接用vim模式打開,最后一行是254。
如果想進(jìn)一步了解wc命令的用法,可以使用以下方法,進(jìn)入學(xué)習(xí)狀態(tài)后總是比較難。
命令類別nFormSubmission.cpp
最下面是行號(hào)。
表單提交.cpp
4.less-NFormSubmission.cpp在行顯示后直接滾動(dòng)到最后一行。
{printnr,$0}表單提交。CPPAWK在處理輸出文本中起著很大的作用。
可以繼續(xù)優(yōu)化。
-n$FormSubmission.cppsed是一個(gè)在線編輯器,一次只處理一行。
FormSubmission.cpp|wc-l做一個(gè)組合過程得到行號(hào)。
實(shí)際上是統(tǒng)一統(tǒng)計(jì)一個(gè)文件的行號(hào)只是一個(gè)很簡(jiǎn)單的功能,但是你可以在linux里面玩很多花樣,因?yàn)槟阆矚g,你會(huì)想出這么多辦法來解決這個(gè)問題。雖然linux在桌面系統(tǒng)中不是很受歡迎,但是在程序員領(lǐng)域卻相當(dāng)受歡迎。很多程序員基本上都喜歡玩linux,不喜歡的程序員不理解linux會(huì)覺得遺憾。
Linux是一個(gè)值得研究一輩子的操作系統(tǒng)。
用MacBookAir寫代碼感覺怎樣?
首先,我個(gè)人認(rèn)為寫代碼的感覺主要和你用的編輯器和鍵盤有關(guān)。雖然Air的鍵盤手感不錯(cuò),但是對(duì)于一個(gè)程序員來說,配一個(gè)更方便的機(jī)械鍵盤還是非常必要的。
。
至于編輯器,我個(gè)人比較喜歡用Mac下的MacVim和TextMate編輯器,非常好用。
。