Awesome Code Review
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.
Contents
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) (summary on the morning paper) 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) (summary on the morning paper) Field study of how GitHub pull requests are used in the wild.
Articles
Books
Talks and Podcasts
-
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.
-
GitRise Slack Reminders for GitHub pull requests
-
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.
-
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.
-
Rubberduck Browser extension to adds code-aware navigation to GitHub pull requests.
-
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.
Contribute
Contributions welcome! Read the contribution guidelines first.
License
To the extent possible under law, John Barton has waived all copyright and
related or neighboring rights to this work.