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
-
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.
-
Pull Reminders Automated Slack
reminders and metrics 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.
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.