- 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").
Improving Intelligent Code Review
Join the DZone community and get the full member experience.Join For Free
Published at DZone with permission of Rodrigo De Castro, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.