代码审查协作
我的团队使用Perforce进行源代码控制在Cand Java中进行开发。我们的两个团队在地理位置上分散,我们希望在这两个团队中进行代码审查。我一直在寻找可以帮助我们进行这些审查的工具,并且将搜索范围缩小到SmartBear的Code Collaborator和Cenqua的Crucible。谁能提供使用这两种工具的经验的一些见解,以及我们对偏远地区的团队的偏爱?另外,如果有其他产品我忽略了,我很乐意接受其他建议。
谢谢。
解决方案
回答
我已经将SmartBear的前身与Code Collaborator(代码审阅者)一起使用,以与Perforce集成。即使在同一建筑物的程序员中,我们也经常使用它。
尽管有时它会阻塞大型更改列表或者包含大量二进制文件的更改列表(无论如何实际上都无法审阅),但它肯定会完成工作。
从Smart Bear网站上可以看到,Code Collaborator非常相似,具有更好的对话功能和现代化的UI。
总而言之,我简直不敢相信我们过去没有Code Reviewer便提交了所有代码-去年它捕获了我的数百个bug。根据我在Code Reviewer的经验,我当然会亲自尝试使用Code Collaborator。
回答
对于远程结对编程,我使用了Yuuguu。它具有内置的聊天客户端,但更有用的功能是屏幕共享。任一参与者可以选择共享他们的屏幕,另一参与者可以请求控制键盘/鼠标(VNC样式)。屏幕共享会话的更新速度非常好,可以连接到同一城市中同一提供商的某个人,而仍然可以连接五个州以外的人。还有一个适用于Windows,Mac和Linux的Yuuguu客户端。希望对我们有所帮助。
回答
我们在工作区中将Subversion与FishEye和Crucible一起使用。在Crucible之前,代码检查是使用SharePoint列表进行的,因此绝对是一项改进。
我喜欢坩埚的事情:
- 与Subversion和FishEye紧密集成
- 电子邮件通知
- 仪表板
- 内联评论
- 语法高亮
我对坩埚的主要嘲讽之一是缺乏反复提醒/日期/截止日期以进行审查。我们的项目正在积极开发中,我们通常会收到少量未完成的评论,但没有时间去做。最终,许多代码审查被遗忘了。我们主要通过安排会议讨论特定的代码审查来解决此问题。我发现此工作流程很耗时,对于地理位置分散的团队来说,要实现这一目标可能会更加困难。
我想在Crucible中看到的另一个功能是确保代码审查注释得到了实际解决。当前,我们仅在Subversion日志中引用"坩埚代码审查ID"。
仅供参考,有一个名为Reviewboard的开源代码审查工具。我还没有尝试过,但是它具有语法突出显示功能,并且看起来很有用。