程序員常用軟件清單-編程篇khb.hnu@gmail.com1 編程相關(guān)作為一名程序員,首先當(dāng)然得先介紹我喜歡用的一些編程相關(guān)的軟件.Doxygen,Hexplore,SVN,Pc-Lint,Cygwin,Visio,Source Insight,以及一些 VC插件等等.下面對每個(gè)軟件的功能進(jìn)行簡單介紹.至于每個(gè)軟件的具體用法,google之,這個(gè)不是一兩句話可以說得完的. 注:商業(yè)軟件用C(commence)表示,免費(fèi)軟件用F(free)表示. 1.1 Doxygen(F)Doxygen 是一個(gè)類似 JavaDoc 的文檔生成工具.有了它,C++愛好者就可以為自己的源代碼很方便地生成美觀實(shí)用的文檔了.C++作為C語言的超集,自然, Doxygen也可以生成C語言程序的文檔.而且我寫得比較多的還是C語言. Doxygen運(yùn)行前需要生成并修改一個(gè)配置文件,然后就可以使用了.我挺喜歡里面的函數(shù)調(diào)用與被調(diào)用圖,當(dāng)然這需要裝一個(gè)畫圖軟件Graphviz. 給一個(gè)教程:使用doxygen為C/C++程序生成中文文檔(來源:www.fmddlmyy.cn), 官方網(wǎng)址:www.doxygen.org 1.2 Hexplore(F)Hexplorer 是一款十六進(jìn)制的文件編輯器,提供了包括用于直觀注釋的5種配色方案,無限制的取消操作,查找和替換功能,像素瀏覽器,結(jié)構(gòu)瀏覽器,分解,變形轉(zhuǎn)換等在內(nèi)的許多功能.該軟件還允許你導(dǎo)出數(shù)據(jù)到C或者匯編程序,計(jì)算校驗(yàn)和,CRC校驗(yàn)值,尋找樣式以及更多方面的功能. 這是一款開源軟件,比較小巧,我用得比較習(xí)慣; 官方網(wǎng)址:hexplorer.sourceforge.net 1.3 SVN(F)這款軟件的主要功能是版本控制.相類似的軟件有CVS,Git等.CVS與SVN的作者是同一個(gè)人.SVN可以看成是CVS的升級版. 而git 是一個(gè)由Linus Torvalds為了更好地管理linux內(nèi)核開發(fā)而創(chuàng)立的分布式版本控制,軟件配置管理軟件.知道linux的應(yīng)該都知道Linus Torvalds是誰了,否則面壁去.與常用的版本控制工具 CVS,SVN等不同,它采用了分布式版本庫的方式,不必服務(wù)器端軟件支持,使源代碼的發(fā)布和交流極其方便.Git的速度很快,這對于諸如 Linux kernel 這樣的大項(xiàng)目來說自然很重要.Git 最為出色的是它的合并跟蹤(merge tracing)能力. 有過開發(fā)相對大型項(xiàng)目的人應(yīng)該都知道這款軟件.假如一個(gè)項(xiàng)目有1W行以上代碼,但是沒有用SVN之類的版本控制軟件,我不得不說這樣項(xiàng)目團(tuán)隊(duì)工作效率肯定很低,而且會(huì)經(jīng)常出錯(cuò)誤.上面的版本控制我只用過SVN,并打算有時(shí)間的話研究一下git.勸那些還沒有用過的同仁,花點(diǎn)時(shí)間學(xué)習(xí)這個(gè)軟件吧,你將收獲很多. 國內(nèi)的SVN中文站點(diǎn):www.subversion.org.cn 1.4 Pc-Lint(C)PC-Lint是一個(gè)歷史悠久,功能異常強(qiáng)勁的靜態(tài)代碼檢測工具.它的使用歷史可以追溯到計(jì)算機(jī)編程的遠(yuǎn)古時(shí)代(30多年以前). PC-Lint是一種針對c/c++的靜態(tài)代碼檢測工具,可以說,PC-LINT是一種更加嚴(yán)格的編譯器,不僅可以像普通編譯器那樣檢查出一般的語法錯(cuò)誤, 還可以檢查出那些雖然完全合乎語法要求,但很可能是潛在的、不易發(fā)現(xiàn)的錯(cuò)誤. 對于那些只有程序沒有錯(cuò)誤,置警告于不理的程序員,你會(huì)很厭惡這款軟件.它給出了大量的可能出錯(cuò)的警告信息.如果你希望調(diào)試階段能夠更加順利,軟件更加穩(wěn)固,那么你還是使用它吧,它絕對可以幫上你大忙.通過排除大量的警告信息,你也可以了解到更多更深入的語言特性. 它是一款商業(yè)軟件,不過你很容易下載破解版.這款軟件運(yùn)行平臺(tái)是:windows;如果你在linux平臺(tái)下,那么你選擇splint吧,不但功能強(qiáng)勁, 安裝和使用也很簡單.而且是免費(fèi)開源的哦. 1.5 Cygwin(F)如果你是windows重癥患者,或者你不方便切換到linux下,又或者你的內(nèi)存太小裝虛擬機(jī)很卡,但是你又舍不得linux平臺(tái)下那些好用的命令行工具, 那么你一定要試一下Cygwin吧,它不會(huì)讓你失望的,相信我.這叫windows下玩linux:-) 來自維基百科: Cygwin是許多自由軟件的集合,最初由Cygnus Solutions開發(fā),用于各種版本的Microsoft Windows上, 國內(nèi)Cygwin鏡像:www.cygwin.cn 1.6 Visio(C)Visio可以建立流程圖、組織圖、時(shí)間表、營銷圖和其他更多圖表,把特定的圖表加入文件,讓商業(yè)溝通變得更加清晰,令演示更加有趣,使復(fù)雜過程更加簡單,文檔重點(diǎn)更加突出,使我們的工作在一種視覺化的交流方式下變得更有效率. 作為Microsoft Office家族的成員,Visio擁有與Office非常相近的操作界面,所以接觸過Word的人都不會(huì)覺得陌生. 雖然同樣是office的家族成員,這款軟件知名度不大,它主要用于畫圖表.但它是商業(yè)軟件,還是微軟制造的. 安裝文件很大,很占空間,我不怎么喜歡.但是有時(shí)候又不得不使用. linux用戶可以使用Dia(F).對于絕大多數(shù)用戶來說,這款軟件的功能可以完全替代Visio. 來自維基百科: Dia是開放源碼的流程圖軟件,是GNU計(jì)劃的一部分,程式創(chuàng)立者是Alexander Larsson.Dia使用 這款開源軟件有windows版的.如非必要,我會(huì)使用Dia替代Visio.當(dāng)然,你想畫出較炫的流程圖,可以用思維導(dǎo)圖軟件,如:MindManage(C),FreeMind(F)等. 1.7 source insight(C)看代碼的軟件,以前用得多,現(xiàn)在基本使用vim/gvim(F)替代.對于那些覺得vim難學(xué)的程序員來說,這款軟件確實(shí)值得一用.特別是對于那些手頭有大項(xiàng)目的程序員有用.現(xiàn)在一般用的是3.5版本吧,是商業(yè)的英文軟件,網(wǎng)上有破解包和漢化包下載,這里不細(xì)說羅.順便提一下,它只運(yùn)行于windows平臺(tái)哦.linux下的程序員看代碼有兩款用得比較多的軟件:一款是前面提到的vim/gvim,另一款是emace(F),這款我沒用過:-( 1.8 C++ test(C)C++Test是一個(gè)C/C++單元級測試工具,自動(dòng)測試C/C++類、函數(shù)或部件,而不需要編寫測試用例、測試驅(qū)動(dòng)程序或樁調(diào)用代碼.C++Test能夠自動(dòng)測試代碼構(gòu)造(白盒測試)、測試代碼的功能性(黑盒測試)和維護(hù)代碼的完整性(回歸測試).C++Test是一個(gè)易于使用的產(chǎn)品,能夠適應(yīng)任何開發(fā)生命周期.通過將C++Test集成到開發(fā)過程中,您能夠有效地防止軟件錯(cuò)誤,提高代碼的穩(wěn)定性,并自動(dòng)化地實(shí)現(xiàn)單元測試(這是極限編程過程的基礎(chǔ)). 這同樣是一款商業(yè)軟件,中文資料比較少.不過經(jīng)過一段時(shí)間的使用,基本上能熟悉使用該工具.我喜歡它的自動(dòng)化測試,當(dāng)然,你也可以自己添加測試用例和樁函數(shù). 1.9 cmockery(F)cmockery是google發(fā)布的用于C單元測試的一個(gè)輕量級的框架. 主要特點(diǎn): 免費(fèi)且開源,google提供技術(shù)支持; 輕量級的框架,使測試更加快速簡單;避免使用復(fù)雜的編譯器特性,對老版本的編譯器來講,兼容性好; 并不強(qiáng)制要求待測代碼必須依賴C99標(biāo)準(zhǔn),這一特性對許多嵌入式系統(tǒng)的開發(fā)很有用; java單元測試有JUnit,c++單元測試有CppUnit;唯獨(dú)C語言找不到一款比較好的單元測試工具.這個(gè)工具比較小巧,對代碼的侵入比較少,最近才入手,覺得很不錯(cuò)的一款軟件,google產(chǎn)品,值得信賴?。?! 官方網(wǎng)站地址:code.google.com/p/cmockery 1.10 VC插件VC我用的比較多的是6.0版本,VS2005也用過一段時(shí)間.所有這里的插件針對于VC6.0,對VS2005不出意外應(yīng)該也可以使用,但不敢打包票. 1.10.1 Visual.Assist(C)這一款我相信Vc程序員都用過,如果沒用過,我只能說你太土鱉了,你不是地球上的程序員.毫無疑問,這也是一款商業(yè)軟件,這個(gè)破解包不好找,而且不穩(wěn)定, 經(jīng)常死掉.對于IDE重癥患者,有它總比沒有好吧.它確實(shí)能夠提高編程效率,同時(shí)避免一些拼寫錯(cuò)誤.中文名稱:VC助手. 1.10.2 Rational PurifyPlus for Windows(C)IBM Rational 軟件交付平臺(tái)(Rational Software Delivery Platform)是一個(gè)為軟件和基于軟件系統(tǒng)的開發(fā)提供完整解決方案的集成平臺(tái).它允許參與者更有效地操作,并且交付令組織區(qū)別于其競爭者的創(chuàng)新的產(chǎn)品和服務(wù),Rose就是Rational中比較有名的一款工具.PurifyPlus也屬于其中之一,它又包括以下三個(gè)工具:
這些工具不能說是Vc插件,它可以獨(dú)立運(yùn)行,它只是Rational這個(gè)龐大的軟件包中相對較小的幾個(gè)工具,但是它很強(qiáng)大,提供VC插件使用. 使用C/C++開發(fā)的團(tuán)隊(duì)一定有被其內(nèi)存問題折磨過的經(jīng)歷,內(nèi)存問題一直是C/C++開發(fā)人員的心頭之痛.特別當(dāng)程序越來越多時(shí),類的繼承和關(guān)聯(lián)越來越多時(shí),內(nèi)存問題也就越來越多,很多時(shí)候,開發(fā)人員在不經(jīng)意的時(shí)候就帶入了內(nèi)存問題. Purify就是一個(gè)用來解決內(nèi)存問題的利器,它是一個(gè)Run-Time的工具,也就是說只有在程序運(yùn)行過程中,根據(jù)程序的運(yùn)行情況來查看在某種運(yùn)行條件下程序是否有內(nèi)存上的問題,它可以在一個(gè)非常復(fù)雜的程序中查找內(nèi)存錯(cuò)誤,包括那種多進(jìn)程或多線程的程序,它也可以進(jìn)行測試.具體檢測原理google IBM相關(guān)網(wǎng)站. 至于PureCoverage與Quantify,使用方法與Purify基本相同.這里不再詳細(xì)說明.這三款軟件對程序開發(fā)確實(shí)能夠起到相當(dāng)大的作用.這是我喜歡的為數(shù)不多的幾款商業(yè)軟件之一. 不過很遺憾的是:Rotional這個(gè)工具包我只用得起這三款工具,其他的工具都不會(huì)用,上手也太難羅,教程又少,難怪說IBM的培訓(xùn)很貴! 不過linux下有這三款工具對應(yīng)功能的替代軟件,開源的,我喜歡:
以上三款軟件具體的不太介紹,開源軟件教程也多,隨便一搜就一大堆. |
|