{"id":28610069,"url":"https://github.com/mgreiler/all-about-code-review","last_synced_at":"2025-06-11T22:32:59.816Z","repository":{"id":42431213,"uuid":"291095063","full_name":"mgreiler/all-about-code-review","owner":"mgreiler","description":"This is a curated list of resources about code reviews: articles, tools, trainings...","archived":false,"fork":false,"pushed_at":"2024-11-11T13:40:15.000Z","size":156,"stargazers_count":201,"open_issues_count":3,"forks_count":27,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-11-11T14:33:52.579Z","etag":null,"topics":["articles","code-review","code-reviews","peer-review","reviews"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgreiler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-28T16:31:25.000Z","updated_at":"2024-11-11T13:40:19.000Z","dependencies_parsed_at":"2024-11-11T14:28:02.618Z","dependency_job_id":"8531b57c-cee6-431a-8f9a-8ee11dfaa8f2","html_url":"https://github.com/mgreiler/all-about-code-review","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mgreiler/all-about-code-review","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgreiler%2Fall-about-code-review","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgreiler%2Fall-about-code-review/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgreiler%2Fall-about-code-review/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgreiler%2Fall-about-code-review/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgreiler","download_url":"https://codeload.github.com/mgreiler/all-about-code-review/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgreiler%2Fall-about-code-review/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259354973,"owners_count":22844964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["articles","code-review","code-reviews","peer-review","reviews"],"created_at":"2025-06-11T22:32:17.490Z","updated_at":"2025-06-11T22:32:59.806Z","avatar_url":"https://github.com/mgreiler.png","language":null,"funding_links":[],"categories":["Development Tools","Others"],"sub_categories":[],"readme":"# All About Code Review\n\nThis is a curated collection of articles, tools, checklists and other awesome resources about code reviews.\nFor more insights into code reviews go to [awesomecodereviews.com](https://www.awesomecodereviews.com/).\n\nContributions welcome - especially highlighting how different companies do code reviews.\nIf you want to suggest a new ressource, please open a pull request.\n\n## Contents\n- [Company Insights](#company-insights)\n- [Code Review Articles](#code-review-articles)\n- [Code Review Tools](#code-review-tools)\n- [Code Review Videos](#code-review-videos)\n- [Code Review Checklists](#code-review-checklists)\n\n\n## Company Insights\nInisghts of different companies on their code review practices:\n- [Facebook: Scaling Static Analyses at Facebook](https://research.fb.com/publications/scaling-static-analyses-at-facebook/)\n- [Gitlab's Code Review Values](https://about.gitlab.com/handbook/engineering/workflow/reviewer-values/)\n- [Google: Focusing on fast code reviews](https://www.michaelagreiler.com/code-reviews-at-google/)\n- [Google: Code review guidelines](https://google.github.io/eng-practices/review/)\n- [Microsoft: Understanding code review best practices](https://www.michaelagreiler.com/code-reviews-at-microsoft-how-to-code-review-at-a-large-software-company/)\n- [Netlify: Feedback Ladders to encode review feedback](https://www.netlify.com/blog/2020/03/05/feedback-ladders-how-we-encode-code-reviews-at-netlify/)\n- [New Relic: Creating Simple and Effective Guidelines for Code Reviews](https://blog.newrelic.com/engineering/code-review-guidelines/)\n- [Palantir: How we do code reviews](https://medium.com/palantir/code-review-best-practices-19e02780015f)\n- [Quora: Using post-commit reviews to increase speed.](https://www.quora.com/q/quoraengineering/Moving-Fast-With-High-Code-Quality)\n- [PayPal's take on code reviews](https://medium.com/paypal-engineering/effective-code-reviews-53d62a203b2f)\n- [Plaid Code Review Culture](https://plaid.com/blog/building-an-inclusive-code-review-culture/)\n- [Raycast: No code reviews by default](https://www.raycast.com/blog/no-code-reviews-by-default/)\n- [Shopify: Code Review Superpower](https://shopify.engineering/great-code-reviews)\n- [SIG: how we do code reviews](https://medium.com/softwareimprovementgroup/how-we-do-code-reviews-at-sig-6e5189fb1e6c)\n- [Squarespace: Creating a Code Review Culture Part 1](https://engineering.squarespace.com/blog/2019/code-review-culture-part-1)\n- [Squarespace: Creating a Code Review Culture Part 2](https://engineering.squarespace.com/blog/2019/code-review-culture-part-2)\n\n\n## Code Review Articles\nThis is a list of articles about code reviews grouped by the main topic.\n- [Command Line Code Review](https://blog.jez.io/cli-code-review/)\n\n- Do's and Don'ts in Code Reviews\n  - [Satirical post about how to make code reviews soul crushing](https://daedtech.com/how-to-use-a-code-review-to-execute-someones-soul/)\n  - [Satirical post: How to make enemies through code reviews](https://repohealth.io/blog/code-review-how-to-make-enemies/)\n- Giving and Receiving Feedback\n  - [Code Review Guidelines for Humans](https://phauer.com/2018/code-review-guidelines/)\n  - [How to Do Code Reviews Like a Human by Michael Lynch](https://mtlynch.io/human-code-reviews-1/)\n  - [How to Give Respectful and Constructive Code Review Feedback](https://www.michaelagreiler.com/respectful-constructive-code-review-feedback/)\n  - [Unlearning Toxic Behaviors in a Code Review Culture by Sandya Sankarram](https://medium.com/@sandya.sankarram/unlearning-toxic-behaviors-in-a-code-review-culture-b7c295452a3c) A how-to guide for pull requests via how-not-too.\n\n- Stacked Pull Requests:\n  - [Stacked Diffs: Keeping Phabricator Diffs Small by Kurtis Nusbaum](https://medium.com/@kurtisnusbaum/stacked-diffs-keeping-phabricator-diffs-small-d9964f4dcfa6)\n  - [Stacked Pull Requests for easier and faster code reviews by Michaela Greiler](https://www.michaelagreiler.com/stacked-pull-requests/)\n  - [Stacked Pull Requests: Keeping GitHub Diffs Small by Grayson Koonce](https://unhashable.com/stacked-pull-requests-keeping-github-diffs-small/)\n  - [Stacked Pull Requests Hackernews Discussion](https://news.ycombinator.com/item?id=18119570)\n  - [Stacked Pull Request Tools](https://roman.pt/posts/large-pull-requests/)\n\n- Truck-based Development and Code Reviews:\n  - [Code Reviews in Trunk Based Development by Robert Ecker](https://team-coder.com/code-reviews-in-trunk-based-development/)\n\n- [Interpersonal conflicts in code reviews](https://arxiv.org/pdf/2201.05425.pdf)\n  -  Rejecting OSS contributions:\n    - [SO discussion: unhelpful contribution](https://opensource.stackexchange.com/questions/1556/how-to-react-to-unhelpful-contributions-to-otherwise-unnoticed-projects)\n    - [Linus Torvald rejecting a security fix](https://lkml.org/lkml/2020/6/1/726)\n    - [Open source, not open contribution](https://news.ycombinator.com/item?id=25940195) and [project](https://github.com/benbjohnson/litestream)\n    - [The art of closing](https://blog.jessfraz.com/post/the-art-of-closing/)\n    - [Conflict management in OSS](https://codeengineered.com/blog/2018/open-source-conflict/)\n\n- Bias in Code Reviews\n  - [Facebook rejects female engineers’ code more often, analysis finds](https://www.theverge.com/2017/5/2/15517302/facebook-female-engineers-gender-bias-studies-report)\n  - [Did gender bias drive code review differences at Facebook?](https://medium.com/inclusion-insights/did-gender-bias-drive-code-review-differences-at-facebook-2e1e4dbd8d62)\n  - [Research study: Gender bias in open source pull requests](https://www.researchgate.net/publication/308716997_Gender_bias_in_open_source_Pull_request_acceptance_of_women_versus_men)\n\n- Splitting Up Too Large Code Reviews\n  - [Shrinking Code Reviews](https://alexgaynor.net/2015/dec/29/shrinking-code-review/)\n  - [Splitting PRs](https://www.thedroidsonroids.com/blog/splitting-pull-request)\n  - [Breaking up code](https://softwareengineering.stackexchange.com/questions/244688/breaking-up-classes-and-methods-into-smaller-units)\n  - [Strategies for Small PRs](https://artsy.github.io/blog/2021/03/09/strategies-for-small-focused-pull-requests/)\n  - [Planning Fallacy - why we underestimate work](https://thedecisionlab.com/biases/planning-fallacy)\n  - [The art of small PRs](https://www.redoxengine.com/blog/the-art-of-the-small-pr/)\n  - [Iterative reviewing without PRs using CodeStream](https://www.codestream.com/blog/smaller-pull-requests-are-like-faster-horses)\n\n\n- Best Practices:\n  - [Making Good Code Reviews Better](https://stackoverflow.blog/2019/09/30/how-to-make-good-code-reviews-better/)   \n  - [20 questions for a valuable code review](https://www.darraghoriordan.com/2021/12/28/21-questiosn-how-to-do-valuable-code-reviews/)\n  \n— Rejecting OSS contributions\n  — [Stack Overflow discussion: unhelpful contribution](https://opensource.stackexchange.com/questions/1556/how-to-react-to-unhelpful-contributions-to-otherwise-unnoticed-projects)\n  — [Linus Torvald rejecting a security fix](https://lkml.org/lkml/2020/6/1/726)\n  - [Using labels to make comments clearer: conventional comments](https://conventionalcomments.org/)\n- Open Source Best Practices\n  - [Open source maintainer guide](https://opensource.guide/best-practices/)\n  - [Building Welcoming Communities](https://opensource.guide/building-community/)\n  - [Ten simple rules for helping newcomers become contributors to open projects](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007296)\n- Clean code and smells/ anti-patterns\ncommunity/)\n  - [185 code smells](https://maximilianocontieri.com/series/code-smells)\n  \n- Code Review Survey\n  - [Smartbear cide review survey 2021](https://smartbear.com/blog/top-10-insights-on-the-state-of-code-review/)\n\n## Interesting Discussions\n- [Tweet about why PRs are a bad idea](https://twitter.com/allenholub/status/1424040299764932623?s=20)\n- [How to speed up code review assignment](https://news.ycombinator.com/item?id=11416746)\n- [What do we know about the ROI of code reviews?](https://twitter.com/hhariri/status/1315606185937166336?s=20)\n- [Discussion about PR foucs: Clean code not good. Bugs much better.](https://twitter.com/copyconstruct/status/1317277666823741440?s=20)\n- [AWS team lead summarizes how to do PRs](https://twitter.com/curtiseinsmann/status/1317149417330364421?s=20)\n- [How does one get better at reading code?](https://twitter.com/Madisonkanna/status/1463596918496399362?s=20)\n- [Code Review Guidelines](https://twitter.com/gkcs_/status/1475781104821063681?s=20)\n- [What to talk about when talking abot code reviews?](https://twitter.com/sback_/status/1488792150158495746?s=20\u0026t=t5_-h_dBv8fG8ujfTjUF-w)\n- Mini JavaScript Code Reviews in a Tweet from Simon Høiberg\n  - [What to do about the average function?](https://twitter.com/SimonHoiberg/status/1317488112147234817?s=20)\n  - [Should we approve or reject?](https://twitter.com/SimonHoiberg/status/1313803838357467136?s=20)\n  - [Clean refactoring?](https://twitter.com/SimonHoiberg/status/1310136847197061121?s=20)\n  - [What about this DOM element?](https://twitter.com/SimonHoiberg/status/1311191044915179521?s=20)\n  - [Using the filter method in JavaScript](https://twitter.com/SimonHoiberg/status/1320299813657825281?s=20)\n- [Subjectivity of clean code](https://twitter.com/tottinge/status/1649172861670821889?s=46\u0026t=tYr5H3Z8rM69vGoM-6z9bA)\n\n## Code Review Videos\n- [10 Tips on How to give respectful code review feedback by Michaela Greiler](https://youtu.be/NNXk_WJzyMI)\n- [Amazing Code Reviews: Creating a Superhero Collective by Alejandro Lujan for GOTO 2019](https://youtu.be/ly86Wq_E18o)\n\n\n## Code Review Tools\n- [Crucible](https://www.atlassian.com/software/crucible) Atlassian's on-premise code review tool.\n- [Codacy](https://www.codacy.com/) Static analysis tool that acts as automated code review.\n- [CodeGuru](https://aws.amazon.com/codeguru): Amazon's AI enabled automated code analysis tool.\n- [CodeSandbox CI bot](https://codesandbox.io/docs/ci) builds and deploys every pull request to allow code reviewers to see the code change in action.\n- [CodeSee](https://www.codesee.io/): Visualize your codebase for code reviews.\n- [CodeStream](https://www.codestream.com/) Code Collaboration Tool that allows for continious code reviews.\n- [Gerrit](https://www.gerritcodereview.com/) Open source git code review tool originating out of Google.\n- [GitHub](https://github.com) Git hosting and pioneer of the \"Pull Request\".\n- [Gitpod](https://gitpod.io) Code review pull requests in a full IDE within your browser.\n- [GitRise](https://www.gitrise.com/) Slack Reminders for GitHub pull requests\n- [Kiro](https://www.kiro.io/) GitHub app that is your PR coach: review reminder and reviewer selection.\n- [LGTM](https://lgtm.com) Automated Git code review for GitHub and Bitbucket pull requests for finding security vulnerabilities and code quality issues.\n- [Phabricator](https://www.phacility.com/phabricator/) Open source git/mercurial/svn code review tool originating out of Facebook.\n- [Prout: Deploy Reminder](https://github.com/guardian/prout) that reminds you that your pull request has been deployed in production and is ready to be tested.\n- [PullRequest](https://www.pullrequest.com/) Code review as a service for GitHub pull requests.\n- [Pull Reminders](https://pullreminders.com) Automated Slack reminders and metrics for GitHub pull requests.\n- [Reviewable](https://reviewable.io/) Code review tool built on top of GitHub pull requests.\n- [Review Board](https://www.reviewboard.org/) Open source review tool that is SCM/platform neutral.\n- [ReviewNB](https://www.reviewnb.com/) Code review tool dedicated to review Jupyter Notebooks.\n- [Rubberduck](https://www.rubberduck.io) Browser extension to adds code-aware navigation to GitHub pull requests.\n- [Sider](https://sider.review/) Automated code review service for GitHub.\n- [Softagram](https://softagram.com/) Automated code change visualization (and dependency analytics) for pull requests, merge requests (GitLab) and patch sets (Gerrit).\n- [SonarCloud](https://sonarcloud.io) Detect code smells, bugs and vulnerabilities in Azure DevOps, Bitbucket and GitHub repositories.\n- [TugBoat](https://www.tugboat.qa/) Builds and deploys each pull request for easier previews of the code under review.\n- [Upsource](https://www.jetbrains.com/upsource/) JetBrain's on-premise git/mercurial/perforce/svn code review tool.\n- [whatthediff.ai](https://whatthediff.ai/) AI based code review tool that explains your PR\n\n\n## AI Code Review Tools\n- [Codemindai](https://codemindai.com/): Review code with the power of AI. Works for GitLab or Github.\n\n\n## Code Review Checklists\n- [A curated list of code review checklists](https://github.com/mgreiler/awesome-code-review-checklists) Contains code review checklists from General to Language-based (Java, C# etc.)\n- [General Code Review Checklists](https://github.com/mgreiler/code-review-checklist) A language agnostic code review checklist containing all relevant aspects.\n- [30+ items for Reviewing Java Code](https://www.java-success.com/30-java-code-review-checklist-items/) A checklist with concrete examples, covering aspects relevant to object-oriented programming.\n- [Frontend pull request checklist](https://github.com/sapegin/frontend-pull-request-checklist) This a meta checklist that makes sure you have done all necessary checks before your frontend code goes through a pull request.\n- [Practical short checklist](https://github.com/ryanmcdermott/code-review-tips): Shows a couple of basic readability/maintainability and security issues to check for.\n- [Short Checklist for C#](https://github.com/samuelwill/csharp-code-review-checklist): Highlightning some basic checks.\n\n\n## Developer Discussions about Code Review\n- [Discussion on UX of Goodle Critique and other code review tools](https://news.ycombinator.com/item?id=19102930)\n\n\n## Live Code Reviews\n- [Code Review on YouTube for Python](https://youtu.be/Tf70szZwWgA): Small Pyhton game, where the reviewer also uses tests to see how the code works. Part of the review is fixing one bug, and making it Pep 8 conform, as well as fixing static analysis problems.\n- [Java code review with a focus on making the code DRY](https://www.youtube.com/watch?v=uD37ZTosqmI\u0026ab_channel=strager): Applying the don't repeat yourself principle during a code review.\n- [Live refactoring of React code](https://www.youtube.com/watch?v=CF7uDDDe2BM\u0026ab_channel=WebDevCody)\n- [Live C++ Code Review](https://www.youtube.com/watch?v=rFnRzW3vvsQ\u0026ab_channel=C%2B%2BWeeklyWithJasonTurner)\n- [GERMAN: Code review JavaScript](https://www.youtube.com/watch?v=LxGDI0aG3rk\u0026ab_channel=thenativewebGmbH)\n- [Live Code Review - CTRE](https://www.youtube.com/watch?v=h1Qf_DYpfqs\u0026ab_channel=C%2B%2BWeeklyWithJasonTurner): Reviewing a compile time PCRE compatible regular expression matcher - Compile time regular expressions\n- [Security focused code review](https://www.youtube.com/watch?v=xBZps1k1sxI\u0026ab_channel=FarahHawa): Bug bounty style review\n- [Review for/by data scientists](https://www.youtube.com/watch?v=i6kVLu_Jx7M\u0026ab_channel=Kaggle)\n- [Flutter Code Review](https://www.youtube.com/watch?v=76P_0-loqzM\u0026ab_channel=Flutter): \n\n## Losses due to low-quality software and technical debt\n- [Security upgrades by major banks in wake of Russian cyber hacks spark IT glitches and crash mobile banking](https://www.dailymail.co.uk/news/article-6217839/Chaos-HSBC-customers-hundreds-locked-account.html)\n- [Millions more bank customers hit by online account misery](https://www.thetimes.co.uk/article/millions-more-bank-customers-hit-by-online-account-misery-7xkcstxj3)\n- [Traders switch to rival after IT bug downs London Stock Exchange](https://www.thetimes.co.uk/edition/business/traders-switch-to-rival-after-it-bug-downs-london-stock-exchange-ct06tmlmp)\n- [Frequent Software Releases, Updates May Injure App Security](https://www.darkreading.com/application-security/frequent-software-releases-updates-may-injure-app-security/d/d-id/1330412)\n\n\n## Initiatives\n- [Code Review in Research by the Oxford Code Review Network](https://github.com/OxfordCodeReviewNet/)\n\n## Practice Code Snippets\n- [Vulnerable code snippets from We Hack](https://github.com/yeswehack/vulnerable-code-snippets)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgreiler%2Fall-about-code-review","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgreiler%2Fall-about-code-review","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgreiler%2Fall-about-code-review/lists"}