Improving Intelligent Code Review
- 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").
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)