A curated list of tools, articles, books, and any other resource related to code review
Code review is the systematic examination (sometimes referred to as peer review) of computer source code.
- 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 witll be on the world wide web.
- Design and Code Inspections to Reduce Errors in Program Development (Fagan, 2002) Using a more formal process, particulary 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) (summary on the morning paper) Research into automatically splitting big diffs into smaller diffs leading to better reviews.
- Work Practices and Challenges in Pull-Based Development (Gousios et al. 2015) (summary on the morning paper) Field study of how GitHub pull requests are used in the wild.
- 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.
- Code Reviews: Just Do It Seminal post advocating for peer review of software back in 2006.
- 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.
- How I review code More personal advice on how to best review a pull request from an engineer at Tumblr.
- 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.
- 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 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.
- Best Kept Secrets of Peer Code Review Older compliation 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.
- 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 effecting.
- Implementing a Strong Code-Review Culture - Derek Prior Railsconf 2015 How to instill a healthy code review culture in a team.
- 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".
- Phabricator Open source git/mercurial/svn code review tool originating out of Facebook.
- Reviewable Code review tool built on top of Github Pull Requests.
- Review Board Open source review tool that is SCM/platform neutral.
- Upsource JetBrain's on-premise git/mercurial/perforce/svn code review tool.
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, John Barton has waived all copyright and related or neighboring rights to this work.