怎么開始
要討論或者批注的源代碼,必須是受版本控制(為什么?)的。因此,開始極客討論之前,需要把源代碼加入本地版本控制,或者是從版本控制服務(wù)器下載源代碼。
-
對(duì)本地源代碼進(jìn)行管理
本地源代碼是存在您電腦中代碼。這時(shí)就不是討論了,可以說是批注,就像看書的時(shí)候畫重點(diǎn)難點(diǎn)一樣。無需任何svn服務(wù)器,內(nèi)置的本地版本庫為您管理。
-
連接團(tuán)隊(duì)的服務(wù)器
如果您的開發(fā)團(tuán)隊(duì)剛好使用的是subversion做版本控制,而且您有提交內(nèi)容入版本庫的權(quán)限,可以配置為團(tuán)隊(duì)開發(fā)項(xiàng)目。
-
閱讀開源項(xiàng)目
在sourceforge,googlecode,github等開源網(wǎng)站上,有很多項(xiàng)目提供提供了svn協(xié)議的只讀接口,可以配置為第三方開源項(xiàng)目。
-
自動(dòng)檢測(cè)服務(wù)器
如果您的源代碼之前已經(jīng)用svn,TortoiseSVN等subversion客戶端軟件從服務(wù)器檢出到了本地目錄中,可以通過資源管理器右鍵菜單打開極客討論器創(chuàng)建配置。
版本控制
極客討論器內(nèi)置的subversion控制臺(tái)可以幫您執(zhí)行大多數(shù)svn命令。控制臺(tái)上的版本庫導(dǎo)航欄為您方便的在版本庫中瀏覽資源。
-
版本庫導(dǎo)航欄
導(dǎo)航欄代表了整個(gè)版本庫。通過導(dǎo)航欄可以找到版本庫中的任何一個(gè)資源的任何一個(gè)版本,可以查看任何一個(gè)資源的修改歷史,可以查看資源的修改,可以提交新版本,可以更新工作區(qū)等等。
-
SVN命令集菜單
SVN命令集菜單全部是常用的svn命令,不過不再以控制臺(tái)的形式接收輸入輸出,而是集成到了圖形界面中。
-
直接瀏覽版本庫
直接瀏覽版本庫是指不需要將它檢出到本地目錄中,也就是無需工作區(qū)。有沒有在SourceForge或者GoogleCode看到一個(gè)項(xiàng)目費(fèi)了半天勁把代碼下下來發(fā)現(xiàn)對(duì)自己沒用的情況?先直接瀏覽版本庫后再處理顯得明智許多。
-
離線瀏覽遠(yuǎn)程版本庫
離線瀏覽的前提是必須把遠(yuǎn)程的版本庫已經(jīng)映射到了本地,因此必須使用本地映射庫,映射了多少個(gè)版本就可以離線瀏覽多少個(gè)版本。離線瀏覽使得subversion能像git一樣的使用了,而且在感覺上和在線瀏覽沒有什么區(qū)別,除了更快。
-
導(dǎo)航欄高級(jí)用法
再回到導(dǎo)航欄,結(jié)合控制臺(tái)按鈕,可用導(dǎo)航欄更方便的在整個(gè)版本庫中遨游。
其它模塊
極客討論器內(nèi)置了源代碼分析引擎,可以生成展示函數(shù)間調(diào)用關(guān)系的函數(shù)地圖。代碼目錄監(jiān)控會(huì)自動(dòng)記錄每次保存的代碼,防止誤刪除。項(xiàng)目內(nèi)搜索能在版本庫內(nèi)查找代碼的改動(dòng)。
-
函數(shù)地圖
極客討論器的函數(shù)地圖,可以用圖形化的方式展現(xiàn)代碼里的邏輯關(guān)系。不同于普通的流程圖生成,函數(shù)地圖是和源代碼相互關(guān)聯(lián)的,既可以通過函數(shù)地圖找到源代碼,也可以通過源代碼定位到地圖的節(jié)點(diǎn)上。
-
消息路標(biāo)
消息路標(biāo)可以展現(xiàn)代碼間的邏輯關(guān)系。用批注消息記錄函數(shù)里代碼的功能,地圖上會(huì)呈現(xiàn)對(duì)應(yīng)節(jié)點(diǎn)的路標(biāo)。查看其它函數(shù)時(shí)如果它和路標(biāo)函數(shù)有直接或間接的調(diào)用關(guān)系,路標(biāo)會(huì)閃爍,表明批注的功能和查看的函數(shù)也有關(guān)系。
-
文件監(jiān)控記錄
開發(fā)是個(gè)不斷增/刪/改的過程。如果說版本控制是個(gè)需要人工操作的,粗粒度的開發(fā)過程保存機(jī)制,那么文件監(jiān)控記錄就是個(gè)自動(dòng)運(yùn)行,細(xì)粒度的保存機(jī)制。它可以幫您回溯開發(fā)過程,并找回您誤修改/刪除的代碼。
-
在版本庫中查找
有時(shí)候您會(huì)想要查找代碼中某個(gè)函數(shù)是何時(shí)添加的,某個(gè)變量是為什么刪掉了,某個(gè)類在開發(fā)過程中發(fā)生了哪些改動(dòng)...諸如此類需求出現(xiàn)時(shí),您應(yīng)該慶幸用了版本控制管理您的代碼。但是版本控制只是基本工具,它本身并不提供庫內(nèi)搜索的功能,極客討論器將為您深入版本庫內(nèi),找到您想要的信息。
討論和批注
討論比起批注來多了一個(gè)可分享功能。個(gè)人版只能批注,不能討論。專業(yè)版可以在團(tuán)隊(duì)中通過即時(shí)通訊協(xié)議分享批注。客戶端版可以在網(wǎng)站,博客,論壇通過發(fā)評(píng)論,發(fā)帖的方式分享批注。這個(gè)主題只介紹批注。
-
創(chuàng)建批注消息
大家都用過各種各樣的即時(shí)通訊軟件,極客討論器創(chuàng)建消息的方式和這些軟件很類似。不同之處在于,可以關(guān)聯(lián)一個(gè)位置,還可以帶一段補(bǔ)丁代碼。
-
通過圖片定位代碼
很多人對(duì)圖片的回憶能力要大于對(duì)文字的回憶能力。如果對(duì)代碼批注了帶圖片的消息,那么在回溯時(shí)也許就會(huì)輕松很多。
-
給源代碼打補(bǔ)丁
討論的時(shí)候給源代碼打補(bǔ)丁很好理解,“我”沒有直接修改這段代碼權(quán)限,或者這段代碼不是“我”寫的,發(fā)個(gè)帶有補(bǔ)丁的消息給原作者讓他斟酌使用。批注的時(shí)候也可以給源代碼打補(bǔ)丁。比如某處代碼有A,B兩個(gè)選擇,源代碼里選用的是A,B就可以作為帶有補(bǔ)丁的批注,并說明不使用它的理由。
-
通過消息關(guān)聯(lián)相關(guān)項(xiàng)目
開發(fā)過程中,可能同時(shí)開發(fā)不同的組件。比如開發(fā)網(wǎng)站的有客戶端和服務(wù)端,開發(fā)應(yīng)用程序的有exe和dll。通常,它們的源代碼是跨文件,或者跨目錄,或者跨版本庫的。消息具有良好的組織性,能把邏輯上相關(guān)但物理上在不同文件,不同版本庫里源代碼“拉攏”起來。
-
消息過濾器
當(dāng)消息越來越多,翻很多頁才能找到需要的時(shí),可以使用消息過濾器。它能用多種條件,如包含的文本,創(chuàng)建人,接收時(shí)間,關(guān)于什么文件等等過濾掉無關(guān)的消息。
極客超能力
極客超能力是由官方或者第三方開發(fā)的擴(kuò)展模塊。賦予您理解源代碼的“超能力”。
-
全面回憶
歡迎來到瑞可公司!用批注消息打造您的記憶庫吧!全面回憶功能可以將批注消息變成源代碼的外部注釋,而且源代碼不管是增/刪/改,它上面的批注消息會(huì)跟著代碼移動(dòng)。
-
時(shí)空線索
不只是四天半!也不用戴著頭盔開著悍馬擴(kuò)大搜索空間!時(shí)空線索功能可以在時(shí)間維度和空間維度查找代碼的線索。