I'm investigating the use of code review systems for our company. JCR looks really interesting, particularly the flexibility in choosing what to review (specific files in the source repository) and the search for older review comments on the same file.
I'm interested to know how other people are getting on with JCR before using it though. Does anyone use JCR in production? How many reviews do you have? How many people are using JCR at your site?
Do you have any tips for managing JCR on larger sites? In particular, how do you identify review topics relating to different projects? Do you have multiple installations of JCR for this? Or just use some form of naming conventions in the project name field?
Thanks in advance for any thoughts you have on this.
We started using JCR in one of our projects a couple of weeks ago.
We do weekly reviews and at the moment we have around a dozen review projects. The project team is approx. 10 people and the ones that do the review are at the moment 2. We plan to extend the reviewing team in the near future.
Before selecting JCR I did an evaluation of several other code review tools. At the end I had to select between codestriker and JCR.
As you mention, I particularly liked the flexibility in choosing what to review (specific files in the source repository) and the fact that it is more suitable for reviewing Java-based projects.
Some comments that I sent to the author:
a) Suppose that we are at the post-review phase and the authors have handled the actions assigned to them by committing new versions of the files in Subversion. The reviewers will then have to verify the corrections. Is there a way that this verification is done (stays) within the same project, or a new project will have to created, defining a new file set with the deltas? The latter case is not very convenient as you can imagine.
b) Is it possible somehow when recording a comment to define the category that this comments belongs to (e.g. performance, styling, etc.), as well as the severity (e.g. critical, major, minor)?
c) Is it possible somehow for an author to get a list of all actions (i.e. file, line, action comment) assigned to him?
Apart from these 3 issues, I also had to deal with the following:
a) JCR does not support email notifications (codestriker does). In order to cope with this I did some slight adapations in the code. I can send you the files that I changed if you want to.
b) In the workflow we are using, the project owner always assigns one reviewer per review project, no matter if many 'actioners' will be involved later. In order for the project owner to select the reviewer, I decided to drop the delegate functionality and use the same drop list for selecting the reviewer. If you want I can send you the workflow that we are using.
In general I am very satisfied with JCR and we plan to continue using it. If necessary I may need to do some further adaptations (I have already a couple in my mind). Although I am not an expert with Python, I used to be a developer and I can find my way through so far.
Hope this helps …
I'm the maintainer of JCR. We use it in production, with about 25 active developers plus a few others who participate in reviews but don't develop code themselves. At present we do about 120 reviews a year, ranging from very small to huge, and we have 164 review projects in the current database (this was since JCR 0.5.0, when we moved machines). We use a single installation for all these reviews.
With this level of reviews/users we haven't needed a formal naming convention for project names, although project owners do tend to use appropriately descriptive names for their review projects, often prefixed with the code project they're working on.
Mostly, however, reviewers are sent a link to the review project, rather than having to find it themselves on the JCR home page. Until recently this was done by manual email, but I'm just about to release 0.7.2rc1, which adds automatic emailing of nominated reviewers (building on the code that Ioannis contributed - see his email above).
I'm also planning (but haven't yet implemented) a sort of 'My projects' view on the home page, to show only projects the reviewer is actively interested in. I'll also do a 'My comments' view, as suggested by Ioannis above.
I hope this helps, and let me know if you have any other questions and/or requirements.
Cheers …………………… John