创建code review
简单的说,点击按钮的顺序依次是:create review -> create review -> [browse changesets ] 或者[ choose branches] ->edit details -> start review
选择项目
进入fish eye,点击“create review”,在弹出窗口中选好项目,然后点击弹出窗口右下角的“create review”。如下图。
选择评审方式
点击后会弹出一个新窗口。这个窗口主要是选择“待评审代码”的。一般我们用前两个,“browse changesets”或者“choose branches”就可以。
“browse changesets”是针对代码变更记录(可以认为等同于代码提交的记录)来创建review的。“choose branches”是针对开发分支来创建review的。
在使用上,二者的区别主要在于:针对变更记录的话,当开发分支中有新提交的代码时,fisheye不会自动更新;针对开发分支则可以自动更新。后面细说。
后面几个选项基本没用过。
browse changesets
首先看“browse changesets”,点击后的界面如下图。第一个红框里是过滤器,用来查找代码变更记录;第二个红框里则是找到的变更记录。
找到需要review的变更记录后,勾选上箭头所指的复选框即可。然后点击“edit details”,去选择评审人。这个在后面细说。
choose branches
如果刚才选的是“choose branches”,那么看到的界面将如下图所示。
这个界面稍好点在于,它好歹有点说明性的文字了。按照说明,选好代码所在的reository和branch(如红框所示),然后点击“add branch”,就可以把这个分支已变更过的所有代码全部加入到review中了。
注意说明,“you can add more than one branch”。当然,大多数情况下咱们只针对一个分支做review。
点击完“add branch”之后,就是下面这个界面。注意红框,默认“auto update”是“on”的。这就是前面说的“针对变更记录的话,当开发分支中有新提交的代码时,fisheye不会自动更新;针对开发分支则可以自动更新”。当然,也可以调到off。
edit details
选好分支之后,也别急着start review。先点击箭头指向的“edit details”。
无论选择按变更评审,还是按分支评审,点击“edit details”之后,都会看到下面这个界面。
需要我们填写的主要是两个红框的内容。
评审人
第一个是评审人。输入姓名的pinyin或者中文,都会有提示。点击suggest reviewers是按照过往的贡献率来筛选的,对咱们用处不大。
评审主题
第二个是评审主题。默认情况下会把历次提交代码时的备注信息加进来。这些信息用处不大。建议大家在这里写明白一下需要评审的重点范围。
开始评审
都填好之后就可以start review了。
点击 start review之后,fisheye会自动发邮件给你所添加的reviewers。然后就可以开始评审了。
评审代码
选择要看的文件
评审人进入一个code review后,会看到下面的界面。
对比文件改动
左侧红框里就是本次待评审的所有文件。从里面选择一个,点击它。
点击左侧的一个文件后,会看到如下图的界面。
界面右侧就是你所点击的文件的变更情况。绿色底色是新增的行,红色底色(截图里没有)是被删除的行。
注意红框里,行号是不连续的。这会给我们评审带来不小的困扰。要解决这个问题,可以按照箭头所指,依次点击"view" -> "full context"。这样就可以看到文件的全貌了。
view里其它选项也有一些作用,大家可以自己尝试。
发表评审意见
代码评审是要提意见的。fish eye里提意见的方法很简单:在你要提意见的代码上点鼠标左键,就会弹出一个输入框,如下图所示。
按照箭头所示,点击代码行,就出现红框里的输入界面。在这个界面上记录下意见或建议,然后点击下方的“comment”按钮,这条评审意见就被记录下来了。
完成ping'shen
当所有文件都评审完了以后,点击界面右上角的“complete”,即可完成自己的评审工作。
这里,不同的角色会显示不同的按钮,如果是review发起人,或者是moderator(祥哥),箭头处会是“close”。
评审总结
评审被close之后,还能做什么呢?
fish eye对后续总结提供的功能支持比较弱。我目前发现的比较有用的,就只是导出为csv文件。
首先从code review界面上点击tools -> view review history,如下图。
在tools里有个“download review as text”,那个可以将review中的历次活动(创建,修改,评审意见,完成,关闭等)记录为txt。但是txt格式不便于整理。用处不大。
按上图点击后会看到这样的界面。
有两个tab页。details就是历次活动的详情记录。timeline……我点过,但是没响应。箭头所指的是导出为csv格式。
csv格式文件可以用excel打开。打开后可以看到它的内容其实和界面上的detail基本一样。除了——中文乱码!
妹的……
中文乱码的csv文件:
如果有耐心整理csv文件,或者用同样的耐心整理txt文件,或者运维同事能帮忙解决下这个问题的话,从这里得到的"COMMENT_ADDED"等评审意见数据,可以用来汇总整理我们代码中的主要问题。不过这是后话了。