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