Following on from my query Here, does anyone know of any good Peer code review software? I am aware of Smart Bear's Code Collaborator (albeit a very expensive option) but can anyone recommend any tools that they use?
We have started using Atlassian's Crucible. It is a web-based tool that hooks into your repository and allows you to comment and discuss right on the code. We like it because it allows our peer review process to be as light-weight or process strict as we want. Plus, our developers enjoy using it. It's highly configurable, allowing review before commit or after etc. If you wanted to enforce code reviews, you may have to play around with, for instance, SVN hooks or something similar.
We evaluated Jupiter, an Eclipse plug-in - and I have used peer review software for ClearCase/ClearQuest before. Neither were particularly impressive, though I did like that with ClearCase/ClearQuest you had a mandatory pre-commit phase where code was pre-submitted but had to pass code review before it could be submitted to the central repository. This does take quite a lot of configuration though.
For something really lightweight, you could submit text file reviews into your repository with line numbers to issues etc. Place them in a review specific folder and keep the review iteration going until all issues are dealt with.
Crucible makes a lot of sense if you have invested in some other Atlassian products - especially JIRA & Fisheye - then you have a lot of power to integrate reviews with your live issues, source control commits and your continuous builds - giving you a lot of pertinent information on all changes made to your source - allowing you to control change risk in your platform.
Hope this helps!
In the world of free tools, VMware has open sourced their internal Django-based tool, Review Board.
If you don't have any tools that you need to integrate with, this could be a simple option. In the .NET world, if you want developers to prepare diffs for review, you can turn the post-review python script into an executable with py2exe.
Ran across this in Google the other day: PeerReviewPlugin for Trac
If you are using .NET, have you taken a look at Spectare from Big Fish Solutions?
We use reviewboard where we are. It's lightweight and, most importantly, free. However, it's a little fussy when it comes to adding .diff files. If you're using tortoise SVN or similar you'll need to make sure you make your .diff files from the SVN server and not your working copy. A small thing, but it'll barf otherwise.
The only other limitation of reviewboard is big diffs. If you're checking in a brand new project and it's a massive diff. You'll normally find that the python doesn't have enough balls to run it properly. Python will use all the system memory that it needs. Perhaps it's our setup here, but it's very frustrating at times.
But it is free and very fully featured and has saved us from having egg on our face a few times.
We use C#'s #warning and #error markers to mark code that needs work. The beauty of this is that the messages stay visible until they're dealt with.
Sometimes low-tech tools work well ... =)
I don't recommend Code Collaborator...it's klunky to use and not worth the (way) expensive price. Workplace used it for about 6 months, but lead coder at my work let it go to use Crucible instead. Much happier as Crucible is much easier to configure and more stable.