Code Review Best Practices
(Updated 23 July, 2020)
We know that Code Reviews are a Good Thing. We probably have our own personal lists of things we look for in the code we review, while also fearing what others might say about our code. How to we ensure that code reviews are actually benefiting the team, and the application? How do we decide who does the reviews? What does “done” look like?
In this talk, Trisha will identify some best practices to follow. She’ll talk about what’s really important in a code review, and set out some guidelines to follow in order to maximise the value of the code review and minimise the pain.
Videos
Also available as a webinar recording.
Slides
Further Information
The webinar recording also has an associated blog post which covers Q&A raised.
Videos and blog posts I’ve created covering the topic (largely with an Upsource slant):
- Code Review Best Practice - guest blog post for FogBugz in which I summarise the content of this presentation.
- Five Code Review Antipatterns - a fun piece for Java Magazine where I cover some of my favourite anti-patterns
- What to Look for in a Code Review (Book) - my free book via LeanPub covering some of the many things to care about when reviewing code
- Ways to Make Code Reviews More Effective - high level view of the topics in “What to Look for in a Code Review”, with a deeper dive on performance and security
- Code Review Matters and Manners (video) - a talk I co-presented with Maria Khalusova, covering what to look for in a code review and how to deliver feedback
- Code Review Best Practices in Upsource - a short (< 15 min) video covering how to use Upsource features to apply some of the best practices mentioned in this talk. There’s also a blog post covering this information.
- What to Look for in a Code Review (Blogs) - the original blog posts for the content in the book, but also contains additional posts like what to look for in Java 8 and 9 code.
- Ways to Make Code Reviews More Effective - a summary of the “what to look for” content with a bit of detail on performance and security concerns.
- Code Review Workflows - a series of blog posts on some different types of processes to follow for code reviews
- Who’s “Allowed” to Review Code? - blog post on “who”
Other interesting articles
- Frustration-Free Code Reviews - this article covers the whole process, with some tips on which battles to choose and how to give feedback
- The Code Review: The Most Important Developer Practice - talks about some of the goals you might have for code review and some guidelines you might want to apply
- Code Review Best Practices at Palantir - effectively a case study of one organisation’s approach to code reviews, including their “why”, “what”, “when”, “who” and “how”, with a nod to “where”. Also includes details of how they categorise their comments.
- Code Review Tips and Recommendations - another case study, more or less in note form, of code reviews for OpenJDK
- Politeness or Bluntness in Code Review? Settling the Matter Once and for All - really interesting piece which covers cultural differences around writing feedback, sparked by a debate on Twitter about whether one should be “forced” to write nice things in code reviews
- How to Conduct Effective Code Reviews - covers a bit of “why” and “how, and talks about communication via code reviews
- Lessons From Google: How Code Reviews Build Company Culture - mostly covers why code reviews are a Good Thing