views:

52

answers:

3

I'd like to know what kind of options we have regarding tools for performing code reviews.

We're a group of 15 people that uses Visual Studio 2008, writing code in C# 3.0 for .NET 3.5 (at least for the time being), and using TFS 2008 for source control.

I've looked at TeamReview on CodePlex, but it seems the only way I can create review work items is by selecting a selection of lines and creating a work item from it. Basically it looks like it is geared towards developers asking for a review on a section of code.

Instead, we're looking at a supervisory role where changesets that deals with particular areas of our product will be reviewed independently, so even though the developer didn't flag the need for a code review, this will be picked up after the commit.

The main feature I'm looking for to do this, is to be able to take one or more changesets, and look at the code that was changed in those changesets, and then create review work items from those (note, I say "work items", but I don't necessarily mean in TFS.) If I have to manually do diffs on the files involved, then I can easily justify using a bit more time finding a better tool.

Can anyone recommend any tools? Open Source and commercial are equally welcome.

A: 

From an open source perspective, the TeamReview tool on CodePlex has a a lot of promise. We've played around with it (under TFS 2008), and have liked it. The only shortcoming we had was integrating it into our process.

Robaticus
Yeah, I agree, but it needs the person that creates code review items to know what parts to review. In other words, there's a huge section of manual work before I get to that point with comparing changeset to previous version, etc.
Lasse V. Karlsen
True. We used diff to show us the differences, then Ctrl-G to go to that line of code in Visual Studio.
Robaticus
A: 

Why don't you create a two branches. The first branch all devs can work on. Add an alert to a checkin to the reviewer, so the reviewer gets notified. The reviewer then reviews the changeset(s) and merges the changes into the 'final' branch.

Ewald Hofman
Might work, but seems like a lot of overhead.
Lasse V. Karlsen
If you don't want this overhead, you can use the alerts to be triggered for reviews. The TeamReview is IMHO a good way. A review is something everybody should want and should not be seen as something bad. Going this way and convince your devs that review is good, you will end up in a situation where devs ask for a review when really required, instead of having the reviewer figure out what risky / complex / challenging changes were.
Ewald Hofman
A: 

SmartBear's Code Collaborator is really good. It's not 100% integrated with TFS, but it's got a heap of great features. A team I know recently moved off Crucible and onto this tool.

The TFS workitem based tools like TeamReview are work arounds for missing features of VS. CodeCollab is designed for code reviews and it works quite well.

Richard Banks