views:

865

answers:

3

My teams develop in C# and Java using Perforce for source control. Our two teams are spread out geographically and we are wanting to implement code reviews accross those teams. I have been looking for a tool to assist us with these reviews and I have narrowed my search to SmartBear's Code Collaborator and Cenqua's Crucible. Can anyone provide some insight into experience's with either/both tools and what your preference would be for geographically seperated teams? Also, if there is another product that I have overlooked, I would gladly accept other suggestions.

Thanks.

+4  A: 

I've used SmartBear's predecessor to Code Collaborator, Code Reviewer, to integrate with Perforce. We use it heavily even amongst programmers in the same building.

It definitely gets the job done, although it sometimes chokes on large changelists or changelists with a lot of binary files (which aren't really reviewable anyway). From what I can see on Smart Bear's website, Code Collaborator is very similar with better conversation features and a modern UI.

In all, I can barely believe we used to commit all our code without Code Reviewer -- it's caught hundreds of bugs of mine in the last year. I would certainly personally give Code Collaborator a try based on my experience with Code Reviewer.

lilserf
+2  A: 

For remote pair-programming I have used Yuuguu. It has a built in chat client, but the more useful feature is screen sharing. Either participant can choose to share their screen and the other participant can request control of the keyboard/mouse (VNC style). The update speed on the screen sharing session was really good connecting to someone on the same provider in the same city, and still good connecting to someone five states away. Also there is a Yuuguu client for Windows, Mac and Linux. I hope that helps.

Mike H
+2  A: 

We are using Subversion with FishEye and Crucible at our workspace. Prior to Crucible, code review was done with SharePoint list, so it was definitely an improvement.

Things I like about Crucible:

  • tight integration with Subversion and FishEye
  • email notifications
  • dashboard
  • inline comments
  • syntax highlighting

One of my major pet peeves with Crucible is the lack of repeated reminder/date/deadline for review. Our project is in active development and we routinely have handful of reviews outstanding but no time to do them. Eventually, many code review are forgotten. We mostly work around this problem by scheduling a meeting to discuss a particular code review. I find this workflow time consuming, and it's probably even harder to pull off for your geographically separated team.

Another feature I want to see in Crucible is to make sure the code review comments are actually resolved. Currently, we just refer to the Crucible code review ID in Subversion log.

FYI, there's an open source code review tool called Reviewboard. I haven't tried it out yet, but it has syntax highlighting and looks usable.

sundae1888
Atlassian plans to add reminders to Crucible. Please vote for issue [CRUC-599](http://jira.atlassian.com/browse/CRUC-599), and attach a comment suggesting exactly how you would like the feature to work.
tdavies