Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Short Question
Does a cost-effective tool / workflow exist to facilitate code reviews in a small team? More specifically, a small team that relies on post-commit code reviews.

Background
Our team currently consists of 3 full time and 1 part time software engineers, with plans on hiring more in the near future. Due to our team size and volume of projects we all must juggle, the pre-commit workflow that major tools (such as Review Board and Code Collaborator) use is not obtainable for us right now. The best we can do at the moment is to perform post-commit reviews before major releases or as time permits. Nearly all of our projects are hosted on RepositoryHosting.com (which I highly recommend) and contain a mixture of SVN and GIT repositories.

Current Thoughts
Since I cannot find a tool that fits our needs right now, I am turning to TRAC that is built into our repository's site. At the moment we use TRAC to file tickets and track milestones, so to me this seems like a natural fit for code review results as well.

The direction I am heading in right now is to use a spread sheet(s) to log all of the bugs and comments. Do some macro magic to get it in a format that I can use TRAC's import ticket method and use TRAC's ticketing system to create the action items / bug reports automatically. The auto ticket generation is darn near a must have, adding in bugs and comments one at a time from a web-gui is really painful.

Secondary Question
If this workflow makes sense, is there a good / standard template to use as a code review log?

share|improve this question

migrated from stackoverflow.com Jul 21 '11 at 23:59

5 Answers

We use FogBugz/Kiln on my team. I believe it includes all the features you're asking for. It's also free for 1-2 users.

share|improve this answer
Thanks for the link. Just checked it out, and my initial impressions is that $25/user/month for the code review portion seems a bit steep. I will have to give the free trial a shot to see how it works out. I do love the idea of being able to add comments to any word/line or group of lines. This flexibility is what has kept us using a hard copy based code review. – Adam Lewis Jul 21 '11 at 4:37
+1 -- We also use FogBugz/Kiln, and I'm very happy with it. We're currently two devs and a CTO working with the code, and we also use a post-commit review approach. – Lstor Jul 22 '11 at 9:48

The "Features" tab of the CodeCollaborator link you included explicitly states "Review before or after check-in.", so I am not sure what the problem is. Moreover its workflow is custom configurable.

On the point about "cost effective", there is also the lightweight version "CodeReviewer" - 10 seats for US$1999

share|improve this answer
1  
I supposed I read over the before or after check-in. Thanks for pointing that out. I was really hoping to find an open source solution. However now realizing that post-commit reviews are possible with codereviewer, I will look a bit closer at it. Thanks again. – Adam Lewis Jul 22 '11 at 2:23

I don't see why "Review Board" wouldn't work as a post-commit review tool - all you need to be able to do is post a diff, and any version control system can generate a diff from a commit log. But maybe I'm overlooking something.

What would be nice (and I'm not sure if Review Board can do this) is to simply be able to put a revision number/git hash into Review Board and have it automatically generate the diff.

At as previous job, we used CodeStriker, which is a Perl-based web code review tool,and it was able to do this with SVN repositories. I was able to hack it to do the same with Perforce repositories. Unfortunately, the project seems to be somewhat inactive - it looks like there's been a little bit of work to support Git, but I'm not sure how far along Git support is.

Too bad - the UI might have been a bit clunky looking coimpared to Review Board, but I think it actually worked better than Review Board for me. Being able to commit a change (we did the commits to per-developer branches, then merged them to trunk when the commit passed code review) and just plug the commit ID into CodeStriker was really nice.

share|improve this answer
1  
Thanks for the input. My reasoning about not using Review Board is that I would really like to have a Web front to it. (From Review Board FAQ): "Does Review Board support post-commit review? Yes, Review Board can handle post-commit review, though currently you need to post-review for this. See Posting Committed Code for more information. Review Board was initially designed for pre-commit review and large changes need to be made before post-commit reviews can be handled in the web UI. We plan to implement this in a future release." – Adam Lewis Jul 22 '11 at 13:38
Well, we use Review Board for both pre-commit and post-commit review. It's quite convenient to send code (either pre- or post-) to Review Board from within TortoiseHg, which sports a Review Board plugin. – Helgi Aug 8 '11 at 11:00

Our company uses a Google back end for our email and web apps. I stumbled upon rietveld ( Google's online code review, but installed in our own domain via the app engine ) and we have been using it for several months now. Over all it has been a very pleasant experience.

I ended up tweaking the provided upload.py to support diff's even if the file didn't exist in a prior revision. Other than the small tweak, the only complaint I have is that there is no good way to generate reports / records showing the review results.

share|improve this answer

We use Gerrit Code Review- which started as a simple set of patches to Rietveld. Its provides a blend of review after commit and review before commit models, and would be ideally suited to your needs.

Code is committed for review, the tool then manages the life cycle though to the main code base. It is possible to pull the reviews not yet completed into other branches and clones meaning un-reviewed code is available for other developers.

I don't know how it would integrate with RepositoryHosting.com.

A red flag I read in your post is the "when time permits" - reality for most software developers (for many reasons) is that code review is lower priority than the next feature / bug fix - so if the process does not enforce it, it will not get done, despite the best intentions.

share|improve this answer
I agree with that red flag. This is why I've been trying to find something to make life easier when doing reviews. We do make it a point that no un-reviewed code is sent to the field, sales demos and engineering demos are a different story. Sadly the add-on support for RepositoryHosting.com is minimal. – Adam Lewis Oct 28 '12 at 14:14
Looking at Gerrit, the biggest issue I see is that it appears to be Git only. We have about a 50/50 mix of Git and SVN. – Adam Lewis Oct 28 '12 at 14:22
Missed that detail - it might be a problem. GIT does have nice hooks into SVN, but I don't know how easily it could be merged with Gerrit. One thing to consider is a migration away from SVN and GIT to just one revision control tool. – mattnz Oct 30 '12 at 3:42

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.