怎么开始
要讨论或者批注的源代码,必须是受版本控制(为什么?)的。因此,开始极客讨论之前,需要把源代码加入本地版本控制,或者是从版本控制服务器下载源代码。
-
对本地源代码进行管理
本地源代码是存在您电脑中代码。这时就不是讨论了,可以说是批注,就像看书的时候画重点难点一样。无需任何svn服务器,内置的本地版本库为您管理。
-
连接团队的服务器
如果您的开发团队刚好使用的是subversion做版本控制,而且您有提交内容入版本库的权限,可以配置为团队开发项目。
-
阅读开源项目
在sourceforge,googlecode,github等开源网站上,有很多项目提供提供了svn协议的只读接口,可以配置为第三方开源项目。
-
自动检测服务器
如果您的源代码之前已经用svn,TortoiseSVN等subversion客户端软件从服务器检出到了本地目录中,可以通过资源管理器右键菜单打开极客讨论器创建配置。
版本控制
极客讨论器内置的subversion控制台可以帮您执行大多数svn命令。控制台上的版本库导航栏为您方便的在版本库中浏览资源。
-
版本库导航栏
导航栏代表了整个版本库。通过导航栏可以找到版本库中的任何一个资源的任何一个版本,可以查看任何一个资源的修改历史,可以查看资源的修改,可以提交新版本,可以更新工作区等等。
-
SVN命令集菜单
SVN命令集菜单全部是常用的svn命令,不过不再以控制台的形式接收输入输出,而是集成到了图形界面中。
-
直接浏览版本库
直接浏览版本库是指不需要将它检出到本地目录中,也就是无需工作区。有没有在SourceForge或者GoogleCode看到一个项目费了半天劲把代码下下来发现对自己没用的情况?先直接浏览版本库后再处理显得明智许多。
-
离线浏览远程版本库
离线浏览的前提是必须把远程的版本库已经映射到了本地,因此必须使用本地映射库,映射了多少个版本就可以离线浏览多少个版本。离线浏览使得subversion能像git一样的使用了,而且在感觉上和在线浏览没有什么区别,除了更快。
-
导航栏高级用法
再回到导航栏,结合控制台按钮,可用导航栏更方便的在整个版本库中遨游。
其它模块
极客讨论器内置了源代码分析引擎,可以生成展示函数间调用关系的函数地图。代码目录监控会自动记录每次保存的代码,防止误删除。项目内搜索能在版本库内查找代码的改动。
-
函数地图
极客讨论器的函数地图,可以用图形化的方式展现代码里的逻辑关系。不同于普通的流程图生成,函数地图是和源代码相互关联的,既可以通过函数地图找到源代码,也可以通过源代码定位到地图的节点上。
-
消息路标
消息路标可以展现代码间的逻辑关系。用批注消息记录函数里代码的功能,地图上会呈现对应节点的路标。查看其它函数时如果它和路标函数有直接或间接的调用关系,路标会闪烁,表明批注的功能和查看的函数也有关系。
-
文件监控记录
开发是个不断增/删/改的过程。如果说版本控制是个需要人工操作的,粗粒度的开发过程保存机制,那么文件监控记录就是个自动运行,细粒度的保存机制。它可以帮您回溯开发过程,并找回您误修改/删除的代码。
-
在版本库中查找
有时候您会想要查找代码中某个函数是何时添加的,某个变量是为什么删掉了,某个类在开发过程中发生了哪些改动...诸如此类需求出现时,您应该庆幸用了版本控制管理您的代码。但是版本控制只是基本工具,它本身并不提供库内搜索的功能,极客讨论器将为您深入版本库内,找到您想要的信息。
讨论和批注
讨论比起批注来多了一个可分享功能。个人版只能批注,不能讨论。专业版可以在团队中通过即时通讯协议分享批注。客户端版可以在网站,博客,论坛通过发评论,发帖的方式分享批注。这个主题只介绍批注。
-
创建批注消息
大家都用过各种各样的即时通讯软件,极客讨论器创建消息的方式和这些软件很类似。不同之处在于,可以关联一个位置,还可以带一段补丁代码。
-
通过图片定位代码
很多人对图片的回忆能力要大于对文字的回忆能力。如果对代码批注了带图片的消息,那么在回溯时也许就会轻松很多。
-
给源代码打补丁
讨论的时候给源代码打补丁很好理解,“我”没有直接修改这段代码权限,或者这段代码不是“我”写的,发个带有补丁的消息给原作者让他斟酌使用。批注的时候也可以给源代码打补丁。比如某处代码有A,B两个选择,源代码里选用的是A,B就可以作为带有补丁的批注,并说明不使用它的理由。
-
通过消息关联相关项目
开发过程中,可能同时开发不同的组件。比如开发网站的有客户端和服务端,开发应用程序的有exe和dll。通常,它们的源代码是跨文件,或者跨目录,或者跨版本库的。消息具有良好的组织性,能把逻辑上相关但物理上在不同文件,不同版本库里源代码“拉拢”起来。
-
消息过滤器
当消息越来越多,翻很多页才能找到需要的时,可以使用消息过滤器。它能用多种条件,如包含的文本,创建人,接收时间,关于什么文件等等过滤掉无关的消息。
极客超能力
极客超能力是由官方或者第三方开发的扩展模块。赋予您理解源代码的“超能力”。
-
全面回忆
欢迎来到瑞可公司!用批注消息打造您的记忆库吧!全面回忆功能可以将批注消息变成源代码的外部注释,而且源代码不管是增/删/改,它上面的批注消息会跟着代码移动。
-
时空线索
不只是四天半!也不用戴着头盔开着悍马扩大搜索空间!时空线索功能可以在时间维度和空间维度查找代码的线索。