Performance Zone is brought to you in partnership with:

Developer with experience in a variety of different systems and technologies, with a customer focus and balance with business goals. Particularly interested in backend and large scale systems, and also interested in high level architecture, and API design. Always open to feedback in order to keep learning and improving as a professional. Rodrigo is a DZone MVB and is not an employee of DZone and has posted 39 posts at DZone. You can read more from them at their website. View Full User Profile

Improving Intelligent Code Review

08.07.2012
| 4076 views |
  • submit to reddit
I had some ideas to improve the code review process...
  • Reviewer suggestion: what if, based on the changed files and lines, the code review tool automatically analyzed all the checkins and previous code reviews and suggested the reviewers for you? Not only familiarity with the code, but it could take into account the desire by engineers to familiarize with the code. One idea is that engineers mark the areas of the code that they'd like to familiarize and they'd be included automatically.
  • Rate reviewers: reviewers are different. Some provide high level analysis of the change, while others focus on the low-level details. What if the code review tool allowed you to rate the reviewers, and based on these reviews, it suggested the right set of reviewers to get your code well reviewed (from both high and low level perspectives).
  • Reasoning for changes: one of the first challenges to review is to understand the reasoning for the change and for the chosen solution. Oftentimes this info does not fit the comment section of the code and, as a reviewer, spend a code review interaction trying to clarify that. What if the code review tool required link to the design document and updated the design document with code review for that feature? Or if the design document is not available, it allowed details to be inserted into the review before it is sent out? Also, one could link bugs and add additional links that help providing context. Finally, tools could help prioritize what the main concern of that CR is - by allowing the requests to be specified and linked to the actual code related to it (e.g. "please focus on the correctness of this algorithm").
Published at DZone with permission of Rodrigo De Castro, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags: