http://blog.huang-wei.com/2011/04/27/read-source-tool/
做程序員的,每天要對著顯示器上的行行代碼
尤其是一份你從未寫過、未讀過的代碼放在你的面前時(shí),尼會(huì)感到似那樣滴心力憔悴
這些還都算了,尼瑪連個(gè)注釋都沒!!!文檔呢!有木有啊!!
哥幼小的心靈在一大堆代碼中接受著無數(shù)次的摧殘~
其實(shí)大家在閱讀代碼時(shí),尤其是C\C++代碼
類結(jié)構(gòu)、繼承、函數(shù)調(diào)用等等,全靠自己腦子和爛筆頭來記的話,遲早得瘋掉
我結(jié)合下自己的經(jīng)驗(yàn)和習(xí)慣,希望對大家有所幫助
1. VS
作為Win下C\C++的碼工,VS這樣的利器是肯定不能錯(cuò)過的
加上Visual Assist X插件,對代碼的著色和智能提示有良好的支持
還有ViEmu插件,能滿足vi\vim碼工們各種小眾需求
這IDE的選擇不細(xì)說了,還有Netbeans啊,Eclipse啊,都各有各的好處
但這些都是從coding的角度來說的,本文是想找出一些方便閱讀和理解代碼的方法
有賴于VAX插件提供的各種快捷鍵
如,ALT+G能夠迅速在定義和聲明中跳轉(zhuǎn),原有的F12也能干這樣的事,可惜不夠強(qiáng)大
官網(wǎng)上有相關(guān)快捷鍵列表,大家可以自己查閱
但VS查看類繼承功能太弱了點(diǎn)

純靠VS來閱讀代碼還是有點(diǎn)難過
如果追求鍵盤操作的,可以用vim + ctags的組合,這里也有文章介紹相關(guān)插件
但這些都是編輯器,無法滿足更大的閱讀需求
2. Source Insight
這個(gè)不是免費(fèi)軟件,但網(wǎng)上各種破解漢化,我們就心照不宣了哈

這工具能顯示在光標(biāo)點(diǎn)擊處的聲明定義和引用,而且查看搜索結(jié)果集后還能很方便跳轉(zhuǎn)回原來的地方
這樣的工具才是一個(gè)真正的代碼閱讀器
3. Doxygen
Doxygen是一個(gè)編寫軟件參考文檔的工具
它可以分析代碼和注釋,自動(dòng)生成文檔,很多開源庫也使用該軟件生成API文檔
它的優(yōu)勢在于方便觀察文件結(jié)構(gòu)、類、結(jié)構(gòu)體的繼承和聚合關(guān)系,輸出結(jié)果可以是html,pdf或者chm,并且有簡單的gui前臺(tái)
這些圖例的生成還需要安裝Graphviz


和insight結(jié)合一起用,個(gè)人覺得就很容易就能理解框架和具體實(shí)現(xiàn)
這里有篇文章有簡單的安裝使用介紹
這個(gè)有點(diǎn)小不爽的就是會(huì)先生成一定大小的文檔,對硬盤空間敏感的朋友要謹(jǐn)慎
4. Rational Rose
一般的代碼閱讀上述幾個(gè)就夠用了,而且安裝包都不大
但要形成更為強(qiáng)大專業(yè)的UML類圖,必須要有Rational Rose這樣的大殺器
該文章介紹了如何進(jìn)行代碼分析

路過的朋友們,可以繼續(xù)介紹一些工具和閱讀開源代碼的經(jīng)驗(yàn)
路漫漫其修遠(yuǎn)兮,繼續(xù)看代碼去羅……