Making the most Out of Code Reviews

Mariatta Wijaya

Tuesday 2:20 p.m.–2:50 p.m.
Audience level: Novice

Description

Code review is like a buzzword in the programming world. Developers often talk about how important it is. But what really happens during code review? What do you achieve out of it? How can we learn during code review? This talk will present ideas of what should be the goals of a code review, and how can developers learn during code review process.

Abstract

Code reviewing is considered to be an important phase in software development to ensure code quality. Generally during code review, the goal is to find mistakes, if any was made. This can create a negative experience to the team. It's likely that some team member is not comfortable with the idea of having their work scrutinized. Junior developers may feel like they are not qualified enough to provide feedback. This talk will explore the different goals of code review process. In addition to ensure code quality, code review should be considered as a learning tool. It should be considered a positive and rewarding experience.

Outlines

  • What are the common expectations of a code review? It is to ensure code quality. But how do we do this? (2 minutes)
  • Sharing my personal experience as new team member and new developer. I did not feel comfortable with the idea of others criticizing my work. I also did not feel like I was 'qualified' to offer any feedback. I felt embarrassed to ask questions. Overall, it was a negative experience, and I did not see value in it. (4 minutes)
  • There are some false assumptions that were made. Shouldn't developer always produce the best quality code anyway? Perhaps we need only to scrutinize junior developer's code? If it's not my project or my codebase, why do I need to care about it? (3 minutes)
  • The impact of automated code review tools.
  • We need to redefine the goals of code review. It should not be seen only as a way to find mistakes. It should be considered as learning experience, which is valuable and priceless.
  • Over the years, I came to appreciate having my code reviewed by others, and I finally realized how it has improved my knowledge. It helped improve my communication skills. (10 minutes)
  • Some additional suggestions: Must have team members who are co-operative and respectful Suggest ways to improve, instead of just pointing out mistakes It's good to include person outside of team. Reviewers should realize that developers need the feedback in order to improve themselves. Prioritize and allocate time each day to do code review. It shouldn't be done in only for your spare.

  • Conclusions (2-3 minutes) Overall, it should be a positive experience Automated code review could be used for a first pass, but human review should still occur after It should be considered as valuable learning experience


Buy your conference and tutorial tickets here! Tutorials are $150 per session.