Awesome Code Review
Code Reviewを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
学術論文
- An experiment to assess the cost-benefits of code inspections in large scale software development (Porter, Siy, Toman & Votta, 1997) 多段階レビューや会議によるコードレビューなど、当時のさまざまなレビュー手法を検証した初期の論文。オフラインで一回、2人のレビュアーによるレビューでも大部分の効果が得られることを示した。
- Anywhere, anytime code inspections: using the Web to remove inspection bottlenecks in large-scale software development (Perpich, Perry, Porter, Votta & Wade, 1997) 遠い将来、コードをレビューする最善の方法はWorld Wide Web上になるだろうと論じた。
- 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) Microsoftの開発者900人以上を対象に、コードレビュープロセス、実施する動機、遭遇する落とし穴とベストプラクティスを調べた大規模研究。
- 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)(the morning paperによる要約)大きな差分を小さな差分へ自動分割し、より良いレビューにつなげる研究。
- Modern Code Review: A Case Study at Google Googleにおけるコードレビューの仕組みを示す研究。
- Work Practices and Challenges in Pull-Based Development (Gousios et al. 2015)(the morning paperによる要約)GitHubのPull Requestが実際にどのように使われているかを調べたフィールド研究。
記事
- 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のエンジニアによる、Pull Requestをより良くレビューするための個人的な助言。
- How to do a code review GoogleのEngineering Practices文書から、Googleのエンジニアがコードレビューを行う方法を詳しく説明。
- How to Do Code Reviews Like a Human コードレビューを技術的プロセスだけでなく社会的プロセスとしても扱う技法。
- Modern Code Reviews 学術論文に分類してもよい内容だが、側面や文脈ごとにコードレビューの証拠を概観し、多数の論文へリンクするWebサイト。
- On Code Review 元Facebookエンジニアによる、コードレビューのツールと個人的要素についての短い記事。
- Pull Requests: How to Get and Give Good Feedback コードレビュープロセスの双方、すなわちレビュアーとレビュー対象者への助言。
- Ship Small Diffs 大きな変更より小さな変更をレビューする方がよい理由。
- Stacked Pull Requests: Keeping GitHub Diffs Small 大きなPRを分割し、レビューへの参加を増やす段階的手順。
- The Art of Humanizing Pull Requests Pull Requestを介したコードレビューの人間的側面を扱う絵文字豊富なガイド。
- Towards Productive Technical Discussions コードレビューの議論をより生産的な方向へ進めるための具体的な質問と行動。
- Unlearning Toxic Behaviors in a Code Review Culture 悪い例を通じてPull Requestの方法を示す実践ガイド。
- Why I changed the way I think about Code Quality コード品質がコードだけの問題ではない理由。
書籍
- 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提供の電子書籍。
講演とポッドキャスト
- 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 Software Engineering RadioポッドキャストでMichaela Greilerがコードレビューの重要性と実施方法を語る。
ツール
- Axolo GitHub/GitLabとSlackの統合。Pull Request/Merge Requestごとに一時チャンネルを作成。
- Crucible Atlassianのオンプレミス型コードレビューツール。
- Gerrit Googleを起源とするオープンソースGitコードレビューツール。
- GitHub Gitホスティングサービスであり、「Pull Request」の先駆け。
- Gitpod ブラウザー内の完全なIDEでPull Requestをコードレビュー。
- LGTM セキュリティ脆弱性とコード品質問題を検出する、GitHubおよびBitbucketのPull Request向け自動Gitコードレビュー。
- Phabricator Facebookを起源とするオープンソースGit/Mercurial/SVNコードレビューツール。
- PullNotifier GitHubとSlackを使う開発チームのPull Request可視性と全体的な生産性を向上。
- PullRequest GitHub Pull Request向けのサービスとしてのコードレビュー。
- Reviewable GitHub Pull Request上に構築されたコードレビューツール。
- Review Board SCMやプラットフォームに依存しないオープンソースレビューツール。
- Sider GitHub向け自動コードレビューサービス。
- Softagram Pull Request、Merge Request(GitLab)、パッチセット(Gerrit)向けのコード変更自動可視化と依存関係分析。
- SonarCloud Azure DevOps、Bitbucket、GitHubリポジトリのコードスメル、バグ、脆弱性を検出。
- Upsource JetBrainsのオンプレミス型Git/Mercurial/Perforce/SVNコードレビューツール。
- Viezly Pull Requestの可視化と変更間の強化されたナビゲーションを備えたコードレビューサービス。
コントリビュート
コントリビューションを歓迎します。まずコントリビューションガイドラインをお読みください。
ライセンス
法律で認められる限り、John Bartonは本作品に関するすべての著作権および 関連する権利または隣接権を放棄しています。