Code Review
Awesome Code Review
¶
> 精选的工具、文章、书籍和任何其他相关资源的列表 code review
代码审查是对计算机源代码的系统检查(有时称为同行审查).
Academic Papers¶
- An experiment to assess the cost-benefits of code inspections in large scale software development (Porter, Siy, Toman & Votta, 1997) 早期论文测试了一系列当时流行的审查技术,包括多阶段审查和通过会议进行代码审查,发现您可以在离线、单次通过和两名审查员的情况下获得大部分好处.
- Anywhere, anytime code inspections: using the Web to remove inspection bottlenecks in large-scale software development (Perpich, Perry, Porter, Votta & Wade, 1997) 在遥远的未来有一天,审查代码的最佳方式将是在万维网上.
- Characteristics of Useful Code Reviews: An Empirical Study at Microsoft (Bosu, Greiler, Bird, 2015) 本文报告了一项大规模定性和定量研究的结果,重点是了解开发人员认为哪些代码审查评论有用.
- Code Reviewing in the Trenches: Understanding Challenges, Best Practices, and Tool Needs (MacLeod, Greiler, Storey, Bird, Czerwonka, 2018) 对 900 多名 Microsoft 开发人员进行的大规模研究,以了解他们的代码审查流程、他们进行代码审查的动机以及他们遇到的陷阱和最佳实践.
- Design and Code Inspections to Reduce Errors in Program Development (Fagan, 2002) 使用更正式的流程,特别是为每个参与者定义角色,并在审查期间大幅增加错误检测.
- Helping Developers Help Themselves: Automatic Decomposition of Code Review Changes (Barnett et al. 2015) (summary on the morning paper) 研究自动将大差异拆分为较小的差异,从而获得更好的评论.
- Modern Code Review: A Case Study at Google 一项显示代码审查如何在 Google 工作的研究.
- Work Practices and Challenges in Pull-Based Development (Gousios et al. 2015) (summary on the morning paper) 关于如何在野外使用 GitHub 拉取请求的实地研究.
Articles¶
- 8 Tips for Great Code Reviews 更好的代码审查过程的一些基本规则.
- A Better Code Review 用于代码审查的一组体面的模式和反模式.
- A Zen Manifesto for Effective Code Reviews 提交者和审查者进行有效代码审查的实用技巧.
- Brian Guthrie's Feature Branching Rant 关于 GitHub 开源优先模型在“公司内部”代码审查实践方面的优缺点的 Twitter 帖子.
- Building an Inclusive Code Review Culture 有助于确保协作和学习文化的指南
- Code Review: Create The Culture, Learn The Best Practices 来自技术领导者的代码审查技巧和最佳实践.
- Code Review Etiquette 一些有助于积极参与代码审查的技巧.
- Code Review Guidelines for Humans 提供和获得代码审查的一些指南.
- Code Reviews: Just Do It 早在 2006 年就提倡对软件进行同行评审的开创性帖子.
- Code Reviews at Google are lightweight and fast 详细了解代码审查最佳实践和流程在 Google 的运作方式.
- Code Review Review is the Manager's Job 为什么管理层应该确保代码审查已经完成并且做得很好.
- Comments During Code Reviews 在代码审查期间写出好的评论.
- Designing Awesome Code Reviews 主动设计代码审查流程的原则.
- Effective Code Reviews Without the Pain 另一本 2006 年关于如何有效执行代码审查的经典著作.
- Feedback Ladders: How We Encode Code Reviews at Netlify 有助于审阅者对特定审阅反馈的可操作性进行分类的框架.
- How Code Reviews work at Microsoft 深入分析 Microsoft 的代码审查流程.
- How I review code 关于如何最好地审查来自 Tumblr 工程师的拉取请求的更多个人建议.
- How to do a code review 谷歌工程实践文档中对谷歌工程师如何进行代码审查的详尽描述.
- How to Do Code Reviews Like a Human 将代码审查不仅视为技术过程,而且将其视为社会过程的技术.
- Modern Code Reviews 可以说属于学术论文,但它是一个网站,通过方面/上下文概述代码审查的证据. 链接到一堆文件.
- On Code Review 关于代码审查的工具和个人要素的短文,来自前 Facebook 工程师.
- Pull Requests: How to Get and Give Good Feedback 对代码审查过程的双方,审查者和被审查者的建议.
- Ship Small Diffs 为什么审查小的变化比审查大的变化更好.
- 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 通过拉取请求对代码审查的人性化方面提供丰富的表情符号指南.
- Towards Productive Technical Discussions 将代码审查讨论推向更有成效领域的战术问题和行动.
- Unlearning Toxic Behaviors in a Code Review Culture 通过 how-not-too 获取拉取请求的方法指南.
- Why I changed the way I think about Code Quality 为什么代码质量不仅仅是代码.
Books¶
- Best Kept Secrets of Peer Code Review 关于代码审查实践的 10 篇论文的较旧汇编. 由于不同作者覆盖同一领域,有些重复.
- Handbook of Walkthroughs, Inspections, and Technical Reviews 较旧的书涵盖了更正式的演练,但涵盖了审查中的政治和团体动态.
- Peer Reviews in Software: A Practical Guide 将正式代码检查作为代码审查实践的实用指南.
- Software Inspection: An Industry Best Practice 关于代码审查实践的论文纲要.
- Ultimate Guide to Code Reviews Codacy 赞助了基于开发人员调查的代码审查实践电子书.
- What to Look for in a Code Review JetBrains 赞助了一本关于如何在审查期间发现编码反模式的电子书.
Talks and Podcasts¶
- Code Reviews: Honesty, Kindness, Inspiration: Pick Three - Jacob Stoebel RubyConf 2017 如何在对原作者保持友善的同时进行有效的代码审查.
- Goldilocks and the Three Code Reviews - Vaidehi Joshi RedDot Ruby Conf 2017 通过关注影响因素来找到适量的代码审查.
- Implementing a Strong Code-Review Culture - Derek Prior Railsconf 2015 如何在团队中灌输健康的代码审查文化.
- Michaela Greiler on Code Reviews - SE Radio 2020 Michaela Greiler 在软件工程无线电播客上讨论了代码审查的重要性以及如何进行代码审查.
Tools¶
- Crucible Atlassian 的本地代码审查工具.
- Gerrit 源自 Google 的开源 git 代码审查工具.
- GitHub Git 托管和“Pull Request”的先驱.
- Gitpod 在浏览器的完整 IDE 中进行代码审查拉取请求.
- GitRise GitHub 拉取请求的 Slack 提醒
- LGTM GitHub 和 Bitbucket 拉取请求的自动 Git 代码审查,以发现安全漏洞和代码质量问题.
- Phabricator 源自 Facebook 的开源 git/mercurial/svn 代码审查工具.
- PullRequest 代码审查作为 GitHub 拉取请求的服务.
- Pull Reminders GitHub 拉取请求的自动 Slack 提醒和指标.
- Reviewable 基于 GitHub 拉取请求构建的代码审查工具.
- Review Board SCM/平台中立的开源审查工具.
- Rubberduck 用于向 GitHub 拉取请求添加代码感知导航的浏览器扩展.
- Sider GitHub 的自动代码审查服务.
- Softagram 拉取请求、合并请求 (GitLab) 和补丁集 (Gerrit) 的自动代码更改可视化(和依赖分析).
- SonarCloud 检测 Azure DevOps、Bitbucket 和 GitHub 存储库中的代码异味、错误和漏洞.
- Upsource JetBrain 的本地 git/mercurial/perforce/svn 代码审查工具.
- Viezly 具有拉取请求可视化和更改之间增强导航的代码审查服务.
Contribute¶
欢迎投稿! 阅读 contribution guidelines 第一的.
License¶
在法律允许的范围内, John Barton 已放弃所有版权和 本作品的相关或邻接权利.