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