在JetBrains 的官网上,看到codereview的工具 upsource ,https://www.jetbrains.com/upsource/ 官方的英文文档
来看下博客园上有博主简单的中文介绍
upsource的来源
upsource是JetBrains公司在2014年推出的一款通过浏览器查看代码达到团队协作功能的工具。它适用于需要解决对代码做review以及统计开发人员对代码贡献等问题的团队。(upsource当前面向10用户以内的开发团队是免费的,10用户以上需要购买)
之前在刚刚搭建upsource时,发现国内资料都只是简单介绍,对于其功能介绍及其如何配置都不详细。今天我把关于upsource的功能及它与现有公司使用类似功能工具的对比都介绍下(至于如何配置,将在后期的文章中介绍):
upsource的功能
支持多版本功能库
对于upsource的理解,可以认为它是现有版本管理库(svn,git)的一个插件。利用upsource可以直接读取到版本库里面的版本信息,并且按照其自有的展示方式展示给用户。
现在upsource支持的版本库有:Subversion, Git, Mercurial, Perforce。当前公司只用到前面两种,因此后期会主要介绍前面两种的配置。
工程日志浏览
Upsource集成了日志查看功能,展现方式和git Extensions类似可以看到日志提交各版本合并线路。另外点击备注信息,可以罗列出此次提交下的所有文件,并支持点击文件查看文件变化
关键字查找定位功能
这一个功能我觉得是非常高级的,因为它可以通过关键字快速的搜索在全工程里面匹配的文件及代码。(之前了解到upsource使用了Cassandra,猜测这里就和它有关)
选中文件后,它能快递展示出文件信息并且高亮输入的关键字。另外对于该文件的修改记录等,都可以在右边按钮中查找到。
重构评论及讨论功能
之前在做代码review的时候,经常遇到这样的问题,比如看到某个同事写的代码有问题想马上标注下,此时一个是记录在其他文件中,然后日后来查找,另一个就是直接在代码上修改,但往往这样又会导致代码冲突。
上面两个方法对于查找和代码合并带来了很大的问题,但upsource提供了一种同时解决上面两个问题的方法,直接在文件中评论,但又不影响实际的代码。
如上图,中间黄色区域为开发者之间的评论,讨论情况也可以标记为Resolve和Reply。
文件对比功能
文件对比在很多版本控制的客户端工具中都是存在的,upsource在这里提供的文件对比是不支持直接修改文件里面的内容,而是通过提供文件及时标注的方式处理。
开发贡献分析功能
之前公司没有专门针对开发贡献做专门的统计,upsource提供了一个统计报表,个人觉得只能简单表明开发的量,但对质上的体现还不明显:
upsource属于浏览器模式管理工具,对于客户端而言,只需要浏览器支持就可以正常使用。其中,upsource的评论标注功能是其亮点,标注信息支持@方式。