Code Review Tools

Peer code review is an important part of software development process. It both helps to find defects early and encourages spreading knowledge across a development team.

When adopting code review practices you may want to find a tool that will help developers to organize the code review process: change sets exploration, communicating between developers and reviewers about defects and ways to fix them.

Recently I have done some research on existing code review tools that can integrate with Visual Studio 2010 ALM (Visual Studio 2010 + Team Foundation Server 2010).

Here are my requirements for a code review tool:

  • Integration with TFS Source Control. A tool should support links between code review tasks and TFS changesets/shelvesets.
  • Integration with TFS Work Item Tracker. Code review tasks should be TFS Work Items.
  • Integration with Visual Studio: I want to do the entire code review process within Visual Studio IDE instead of external Windows/Web applications.
  • A tool should support building of the formal code review workflow: to define code review work item states and transitions.
  • A tool should help to find changes in source code, to allow the reviewer to write comments for arbitrary blocks of code.
  • A tool should be supported by vendor and/or have a strong community.
  • A tool should have moderate price.

I’ve searched for tools that meet these requirements and the result was discouraging. There are no tools that are appropriate for me. They either have no important functionality or cannot be integrated with Visual Studio ALM.

Here are these tools:

 

TeamReview

http://teamreview.codeplex.com/

License: GNU GPL

Integration with TFS: Yes

Integration with VS: Yes

Review request is being created as a Task work item that is related to a changeset or a shelveset. The task is assigned to a reviewer, the reviewer creates a Code Review Response work item for each code defect.

No code change highlight tools. Developers can write comments for particular code chunks.

Is supported: No (the most recent release – February 2010)

 

SmartBear CodeCollaborator

http://smartbear.com/products/software-development/code-review

License: Proprietary

Price: $489 за named developer, либо $1299 за concurrent developer

Integration with TFS: Partly

Integration with VS: Yes

Integrates with TFS Source control, but does not make relations to TFS work items. Do not integrate defects data and code review states with TFS work items.

Highlights changed code lines. Allows creating comments for particular code blocks.

Is supported: Yes

 

Code Review Tool

http://codereviewtool.com/

License: Proprietary

1-5 concurrent users – $199 per user

6-10 concurrent users – $299 per user

11-25 concurrent users – $269 per user

26-50 concurrent users – $239 per user

Integration with TFS: Not full

Integration with VS: No

Integrates only with TFS source control, uses own data structures and logic to store information about defects, does not integrate with TFS work items.

Highlights changed code lines. Allows creating comments for particular code blocks.

Is supported: Yes

 

TFS Code Review Workflow

http://tfscodereviewflow.codeplex.com/

License: MS-PL

Integration with TFS: Yes

Integration with VS: Yes

A developer shelves changes, creates Code Review work item, that isrelated to the shelveset. A reviewer reviews the shelveset. If there are any defects, the reviewer informs the developer (e.g. via e-mail). If there are no active defects, the Code Review work item state is changed to “Approved”, and the developer can check in the changeset.

Is supported: No (the most recent release – July 2006)

 

Attrice Team Foundation Sidekicks

http://www.attrice.info/cm/tfs/index.htm

Free

Integration with TFS: Yes

Integration with VS: Yes

This tool does not provide code review process model. It only helps to find changed code blocks in a changeset.

Is supported: N/A

 

 

The most appropriate for my requirements is Team Review. It is not an ideal code review tool, but other tools are worse (maybe except of TFS 2012 code review feature).

 

UPDATE (5/28/2013): Now I work with Crucible to do code reviews. It does not integrate with VS (but does integrate with source control systems, for example it works well with git that I use now). But it is a way more usable than every tools mentioned above. So, if you search for CR system, you should take a look at Crucible.

  • David Wolf

    Good write up. 2015 now and code review in the MS world hasn’t gotten much better….