极客讨论器 v1.2.0个人版

源代码批注和讨论软件

极客讨论器是目前个人最好的阅读代码的好帮手,软件内置源代码分析,将C/C++/Python/Java/C#/Objective-C源代码以“函数地图”的形式来展示调用关系,并且可以和源代码相互定位。用户还可以用“旅行模式”按照函数调用顺序阅读源代码,用“消息路标”来标注函数,查看其它函数和它的调用关系。
极客讨论器是专为程序员制作的一款编程辅助软件,能够帮助用户检阅生成的代码,并且支持批注源代码、本地源代码管理等功能,不管是软件开发还是测试都非常实用,欢迎免费下载体验。

基本介绍

极客讨论器是对源代码进行批注和讨论的软件。
先说什么是批注:批注的概念来源于读书。最著名的有金圣叹批水浒,脂砚斋批红楼梦,我们看书的时候也有把其中的难点,重点画出来,用我们自己的语言解释一遍。书需要细细品读,源代码也需要认真钻研。
再说什么是讨论:讨论原意就是你一言我一语,针对某件事或某个人进行对话。而针对源代码的讨论更是精确到了其中的某一行,某一个语句,某一个变量上。
最后再说什么极客讨论器:既然是讨论器,必然有服务器或者平台才能讨论,一个人无法讨论。但是因为一个人钻研源代码的也不少,所以也有个人用的讨论器。

极客讨论器怎么开始?

要讨论或者批注的源代码,必须是受版本控制的。因此,开始极客讨论之前,需要把源代码加入本地版本控制,或者是从版本控制服务器下载源代码。
一、对本地源代码进行管理
如果您电脑里压根没有安装过subversion的任何组件,或者以前没有接触过subversion或者其它版本控制软件,没有关系,极客讨论器内置了一个图形化subversion界面,让您零基础使用版本控制管理您的源代码,还内置了本地版本库生成器,无需subversion服务器,在本地即可进行版本控制,并且除了无法和他人分享以外,和通过服务器管理是一样的。
要开始管理一个包含源代码的文件夹,有三种方法。最简单的方法就是:把文件夹,直接拉拽到极客讨论器上,即可,如右图所示。

此时会变成配置页面,保持所有配置不变,直接点击“确定”按钮就完成了。您也可以先点击“保存”按钮将配置保存为一个xml文件,那么它下次会出现在极客讨论器的首页的最近打开配置列表中。
第二种方式可以通过文件夹的资源管理器右键菜单完成。在需要管理的文件夹的关联菜单中选择gtalkabout菜单项也会出现右边的配置页面。如果找不到gtalkabout菜单项,请在极客讨论器所在目录中新建一个register.bat文本文件,用记事本编辑它,输入:
regsvr32 /v gtashell.dll
保存,然后选择“以管理员身份运行”即可。
第三种方式是在启动页面点击“本地开发项目”按钮,在配置页面的“本地”页中“工作区”输入框中手工输入要管理的目录。

在前面的配置页面点击“确定”后进入了程序的主页面。所有对您的源代码的版本控制和批注,讨论都是在这个页面完成的。目前还只为您建立了一个空的本地版本库,您需要把源代码文件提交到版本库中。

点击“控制台”下的“提交”按钮。当“提交”页出现后,可以在其中选择需要提交的文件,一般是源代码文件,和项目需要的资源文件,如图片,图标等等。不建议将编译器/解释器/IDE生成的目标文件,中间文件保存在版本库中。提交前还可以写一个提交日志,以备日后理解提交的原因。所有这些完成以后,点击“提交页”上的“提交”按钮,您的源代码就已经是受版本控制了!

二、连接团队的服务器
在极客讨论器的起始页面,点击“团队开发项目”按钮,进入配置页面后,在“Subversion”配置页填写项目的URL,以及账号信息,如右图所示:

在“本地”配置页为您的团队项目源代码选择一个工作区路径,如右图所示。在这个工作区里,您可以接受服务器版本库的源代码,如果版本库里的源代码有了新版本,您可以更新这个工作区里的源代码和版本库的最新版保持一致。还可以在这个工作区中修改后提交到版本库中。
其它的配置不要改变。配置完后,点击“确定”按钮。

进入主页面后,您会发现服务器版本库的最新版本的源代码下载到了您的工作区目录中。
关于团队项目的更新,提交,版本库浏览,在“版本控制”主题下有更详细的介绍,请阅读相关内容。

三、阅读开源项目
在极客讨论器的起始页面,点击“第三方开源项目”按钮,进入配置页面。如右图所示,上面标的1,2,3分别是开源项目的URL,用户名和密码,这些后面会根据常用的SourceForge,GoogleCode,GitHub指出该如何配置。
注意其中只读访问被勾选了。这是因为开源项目一般只提供公众读权限而没有公众写权限。有些朋友可能会好奇,有没有写权限不是服务器判断的事吗?为什么需要在客户端设置一下?这是因为极客讨论器在进入主界面后,根据是只读访问还是读写访问版本库界面会有不同,所以在配置里设置了只读的话会准备一个更适合只读访问的界面。

在“本地”配置页为您的开源项目源代码选择一个工作区路径。最新版的源代码会下载到这个工作区目录里。
如果仅是浏览一下而不想下载可以去掉“使用工作区”的选择,这个在后面的专题会有介绍。

对于SourceForge上的项目,如右图所示:在项目的Code选项页下,Read Only access后面的svn checkout svn://svn.code.sf.net/p/cipherlib/code-0/ cipherlib-code-0是只读访问cipherlib版本库的svn命令。
用在前面Subversion配置页里,1,2,3分别是:
1. 版本库URL,填写 svn://svn.code.sf.net/p/cipherlib/code-0/,或者更好是svn://svn.code.sf.net/p/cipherlib/code-0/trunk,因为我们一般是阅读开源项目的主开发分支;
2. 用户名,填写 cipherlib-code-0
3. 密码,不填
也就是对于SourceForge上的项目,1,2,3分别是:
svn checkout (1)svn://svn.code.sf.net/p/cipherlib/code-0/ (2)cipherlib-code-0 (3)

对于GoogleCode上的项目,如右图所示:在项目的Source选项页下,Command-line access下的svn checkout http://twitcurl.googlecode.com/svn/trunk twitcurl-read-only 是只读访问twitcurl版本库的svn命令。
用在前面Subversion配置页里,1,2,3分别是:
1. 版本库URL,填写 http://twitcurl.googlecode.com/svn/trunk;
2. 用户名,填写 twitcurl-read-only
3. 密码,不填
也就是对于GoogleCode上的项目,1,2,3分别是:
svn checkout (1)http://twitcurl.googlecode.com/svn/trunk (2)twitcurl-read-only (3)

对于GitHub上的项目,每个项目即提供git访问接口又提供svn访问接口,如右图所示:在项目的右下角,Clone的位置处,有一句话:You can clone with HTTPS, SSH, or Subversion,选择其中的Subversion,上面就会出现Subversion checkout URL,点击URL右边的Copy to clipboard按钮,把URL拷贝出来,是一个直接的URL,例如,右图的项目是:https://github.com/vcforge/rsscurl
GitHub只读访问项目是不需要用户信息的,所以用在前面Subversion配置页里,1,2,3分别是:
1. 版本库URL,填写 https://github.com/vcforge/rsscurl;
2. 用户名,不填
3. 密码,不填
也就是对于GitHub上的项目,只有1,版本库URL可以从项目页直接获取

常见问题

一、极客讨论器是不是版本控制软件?为什么很多功能都是版本控制的功能?
这个问题可以说是,但也不全是。
第一个问题的答案如果回答得更全面一点,应该是:极客讨论器是对受版本控制的源代码进行批注和讨论的软件。因为版本控制是如此的必不可少,所以在极客讨论器内部,集成了一个图形化版本控制客户端,来进行版本控制操作。但是,核心价值还是批注和讨论源代码。
后面会解释为什么版本控制是必不可少的。
二、为什么对受版本控制的源代码才能进行批注和讨论?
请思考一下这个问题:很多人都做过在一张合影照片上标出您好友在哪里,不难吧?那如果是一段视频,里面的人在不停的走动呢?上一秒您的好友在视频左上角,下一秒到了右下角,再下一秒可能走出视频了...源代码就像一段视频,是“活”的,变化的,不是“死”的,静止的。一个月前您批注的这个函数,现在可能您给它改了一个名称,加了一个参数,一个月以后可能把它彻底删掉了。。。就像不能在流沙上建楼房一样,批注也不能在“流动的”源代码上进行。
和视频中标好友的例子类比,版本控制就相当于给源代码拍了一张张照片,批注实际上是在某一张照片上标出“好友”,当源代码改变了,成了“另一张照片”,极客讨论器会和翻出批注时的源代码“照片”,进行对比,重新定位到“好友”的最新位置上。
三、为什么选用subversion做版本控制?
subversion在版本控制界的地位我们在这里无需给它打广告了。如果说它在开源界,企业内部,乃至个人使用的版本控制都排在前几位,相信异议不大。当然不说它具有绝对的领先地位,比如在开源界,就大有被git后来居上的态势。不过哪怕是github,它的每个项目也都有subversion的接口。
熟悉版本控制的朋友都知道,subversion通常意义上说它是集中式版本控制,而git,hg等等是分布式版本控制。但是subversion支持版本库的本地化同步,使得它在实际使用时也可以分布式访问,比起git/hg不差。极客讨论器内部集成了subversion的本地化同步功能,无需额外操作,即可享受到比远程访问更快捷的访问,还可以离线访问远程版本库。
四、极客讨论器会和我常用的subversion客户端相冲突吗?
不会。实际上在我们开发组内部也都安装了subversion命令行客户端,TortoiseSVN等软件,所有这些subversion客户端,包括SmartSVN,SyncSVN,VisualSVN等等,我们测试了许多,都没有出现有冲突的情况。
特别是subversion命令行客户端,和TortoiseSVN,分别使用控制台和集成到资源管理器中,它们提供的某些便捷是极客讨论器所比不了的,反过来说,极客讨论器所实现的核心价值,“极客讨论”,也是用控制台或者资源管理器所不擅长的。极客讨论器也不会去重复它们的功能。
五、极客讨论器会支持其它版本控制吗?
会的,不久的将来,git和hg都会集成到极客讨论器中。

更新日志

极客讨论器v1.2.0更新日志(2016-10-20)
增强的版本库导航栏,可弹出版本名片。使用代码位置/补丁列表在版本库和工作区中采集代码。阅读开源代码时自动连接ORCA知识云服务器,点击陌生函数可获取帮助。
1、增强的版本库导航栏。增加了版本名片,鼠标在导航栏上稍作停留,所在位置版本的详细信息就会显示出来。
2、支持列出版本库所有用户,和每个用户提交的所有版本。
3、每条消息可以携带多个代码位置和多个代码补丁。增加了一个代码位置/补丁列表在项目中采集代码位置和补丁,并链接到正在编辑的消息中。
4、当接收到带有多个代码位置/补丁的消息后,此消息可以在项目中所有位置被回忆出来,也可通过它的代码位置/补丁列表跳转到任意一个位置,从而在代码中跳转以帮助您理解。
5、阅读开源代码时,自动连接ORCA知识云服务器。如果代码中有某个函数、参数、宏、常量或者某段代码的知识可以在知识云中找到,那么此处代码会高亮显示,您可以接收此处代码相关的知识,以便于您阅读理解。
6、消息登记服务器已并入ORCA知识云服务器中。
收起介绍展开介绍
  • 下载地址

发表评论

您的评论需要经过审核才能显示!