Where I work, we have a lot of new developers and people still learning the languages. When learning a language, being able to get feedback on your code is an invaluable learning asset. It lets the more experienced programmers help teach the newer ones.
Most code review software is designed for pre-commit comments. A reviewer looks at the code before it gets added to the version control system and then approves or denies the changes. This is obviously vital for large projects involving multiple developers, but what about small shops where people work mostly independently and on different projects? What if you don’t have the resources or the need for an extensive review process and would rather casually browse your colleges code to add constructive criticisms or notify them of best practices which they might be unaware of?
To me the ideal tool will interface with subversion and allow reversion specific and line specific post-commit comments. I want to be able to browse our source code whenever I feel like it, write a comment about a specific line, and then have the author notified of the comment.
The PeerReviewPlugin for Trac looked like a winner, until I read this review
In my company, we looked briefly at the “peerreview” plugin on TracHacks, and were very disappointed with it.
It seems obvious to us that a code-review plugin would naturally default to assuming that an entire Subversion commit should be code-reviewed. Unfortunately, the peerreview plugin forces you to manually identify the lines of code that you want to review. It doesn’t even give you hints in which lines might have changed with a particular commit, which means that if you don’t enter the line that changed carefully, you could end up re-reviewing the same lines of code over and over.
It still looks promising, and I don’t expect to find an out-of-the-box solution that is perfect for my specific situation. Right now ReviewBoard is looking up and I could always modify the PeerReview plugin to suit my needs (hooray, opensource). Please, leave a comment about how you and your company do code review. What code review systems have you worked with? What other solutions might I have passed over?