awesome-code-review

Code review resource

A curated list of resources and research on code review processes and best practices for improving software development.

An "Awesome" list of code review resources - articles, papers, tools, etc

GitHub

4k stars
101 watching
331 forks
last commit: 2 months ago
Linked from 3 awesome lists

awesomeawesome-listcode-reviewcode-reviews

Awesome Code Review / Academic Papers

An experiment to assess the cost-benefits of code inspections in large scale software development (Porter, Siy, Toman & Votta, 1997) Early paper that tested a range of then-current review techniques including multi-stage review and code-review-via-meeting that found you can get most of the benefit in an offline, single pass, with two reviewers
Anywhere, anytime code inspections: using the Web to remove inspection bottlenecks in large-scale software development (Perpich, Perry, Porter, Votta & Wade, 1997) One day in the far future the best way to review code will be on the world wide web
Characteristics of Useful Code Reviews: An Empirical Study at Microsoft (Bosu, Greiler, Bird, 2015) This paper reports the findings of a large scale qualitative and quantitative study focusing on understanding which code review comments are considered useful by developers
Code Reviewing in the Trenches: Understanding Challenges, Best Practices, and Tool Needs (MacLeod, Greiler, Storey, Bird, Czerwonka, 2018) A large scale study of over 900 Microsoft developers to understand their code review processes, their motivations to do code reviews, and which pitfalls and best practices they encounter
Design and Code Inspections to Reduce Errors in Program Development (Fagan, 2002) Using a more formal process, particularly with defined roles for each participant and drive a big increase in error detection during review
Helping Developers Help Themselves: Automatic Decomposition of Code Review Changes (Barnett et al. 2015) ( ) Research into automatically splitting big diffs into smaller diffs leading to better reviews
Modern Code Review: A Case Study at Google A study that shows how code reviews work at Google
Work Practices and Challenges in Pull-Based Development (Gousios et al. 2015) ( ) Field study of how GitHub pull requests are used in the wild

Awesome Code Review / Articles

8 Tips for Great Code Reviews A few basic rules for a better code review process
A Better Code Review Decent set of patterns and anti-patterns for code reviews
A Zen Manifesto for Effective Code Reviews Practical tips for the submitter and the reviewer to make effective code reviews
Brian Guthrie's Feature Branching Rant Twitter thread on the pros and cons of GitHub's open source first model with regards to "in-company" code review practice
Building an Inclusive Code Review Culture Guidelines to help ensure a collaborative and learning culture
Code Review: Create The Culture, Learn The Best Practices Code review tips and best practices from tech leaders
Code Review Etiquette A few tips helping with positive engagement on code review
Code Review Guidelines for Humans Some guidelines for giving and getting code reviews
Code Reviews: Just Do It Seminal post advocating for peer review of software back in 2006
Code Reviews at Google are lightweight and fast Details on how code review best practices and processes work at Google
Code Review Review is the Manager's Job Why management should ensure code review is done and done well
Comments During Code Reviews Writing good comments during code reviews
Designing Awesome Code Reviews Principles for actively designing a code review process
Effective Code Reviews Without the Pain Another 2006 classic on how to effectively perform a code review
Feedback Ladders: How We Encode Code Reviews at Netlify Helpful framwork for reviewers to classify how actionable specific pieces of review feedback are
How Code Reviews work at Microsoft A in-depth analysis on how the code review process looks like at Microsoft
How I review code More personal advice on how to best review a pull request from an engineer at Tumblr
How to do a code review A thorough description of how Google engineers do code reviews, from the Google's Engineering Practices documentation
How to Do Code Reviews Like a Human Techniques that treat the code review as not only a technical process but a social one as well
Modern Code Reviews Arguably belongs in academic paper, but it's a website giving an overview of evidence on code review by facet/context. Links off to a bunch of papers
On Code Review Short article about tooling and personal elements of code review, from an ex-Facebook engineer
Pull Requests: How to Get and Give Good Feedback Advice for both sides of the code review process, the reviewer and the reviewee
Ship Small Diffs Why it's better to review small changes rather than large ones
Stacked Pull Requests: Keeping GitHub Diffs Small A step-by-step process to split big PRs and increase review engagement
The Art of Humanizing Pull Requests Emoji rich guide to the human side of code review via pull requests
Towards Productive Technical Discussions Tactical questions and actions to push code review discussions into a more productive territory
Unlearning Toxic Behaviors in a Code Review Culture A how-to guide for pull requests via how-not-too
Why I changed the way I think about Code Quality Why code quality is about more than just the code

Awesome Code Review / Books

Best Kept Secrets of Peer Code Review Older compilation of 10 essays on the practice of code reviews. Some repetition due to different authors covering the same territory
Handbook of Walkthroughs, Inspections, and Technical Reviews Older book covering more formal walkthroughs but covers politics and group dynamics in review well
Peer Reviews in Software: A Practical Guide A practical guide to formal code inspections as a code review practice
Software Inspection: An Industry Best Practice Compendium of papers on code review practice
Ultimate Guide to Code Reviews Codacy sponsored ebook of code review practices based on developer survey
What to Look for in a Code Review JetBrains sponsored ebook of how to spot coding anti-patterns during review

Awesome Code Review / Talks and Podcasts

Code Reviews: Honesty, Kindness, Inspiration: Pick Three - Jacob Stoebel RubyConf 2017 How to do effective code review while remaining kind to the original author
Goldilocks and the Three Code Reviews - Vaidehi Joshi RedDot Ruby Conf 2017 Finding just the right amount of code review by focussing on what is affecting
Implementing a Strong Code-Review Culture - Derek Prior Railsconf 2015 How to instill a healthy code review culture in a team
Michaela Greiler on Code Reviews - SE Radio 2020 Michaela Greiler discusses the importance of code reviews and how to conduct them on the Software Engineering Radio podcast

Awesome Code Review / Tools

Axolo Github/GitLab Slack integration. Create one ephemeral channel per pull request/ merge request
Crucible Atlassian's on-premise code review tool
Gerrit Open source git code review tool originating out of Google
GitHub Git hosting and pioneer of the "Pull Request"
Gitpod Code review pull requests in a full IDE within your browser
LGTM Automated Git code review for GitHub and Bitbucket pull requests for finding security vulnerabilities and code quality issues
Phabricator Open source git/mercurial/svn code review tool originating out of Facebook
PullNotifier Improve pull request visibility and overall productivity for dev teams using Github and Slack
PullRequest Code review as a service for GitHub pull requests
Reviewable Code review tool built on top of GitHub pull requests
Review Board Open source review tool that is SCM/platform neutral
Sider Automated code review service for GitHub
Softagram Automated code change visualization (and dependency analytics) for pull requests, merge requests (GitLab) and patch sets (Gerrit)
SonarCloud Detect code smells, bugs and vulnerabilities in Azure DevOps, Bitbucket and GitHub repositories
Upsource JetBrain's on-premise git/mercurial/perforce/svn code review tool
Viezly Code review service with pull request visualization and enhanced navigation between changes

Backlinks from these awesome lists: