liveBook · Manning

What you will learn in "Looks Good to Me"

Constructive code reviews

by Adrienne Braganza
Foreword by Scott Hanselman

Chapter by chapter

Chapter 1: The significance of code reviews

1.1 Who this book is for · 1.2 How this book is structured · 1.3 You should want code reviews · 1.3.1 Better applications · 1.3.2 Elevated team understanding · 1.4 Convincing your team · 1.5 Making code reviews better · 1.6 Summary · 1.7 References

What you learn in chapter 1 →

Chapter 2: Dissecting the code review

2.1 Code review systems · 2.1.1 Human-led · 2.1.2 Tool-facilitated · 2.1.3 Hybrid · 2.2 How does a code review work? · 2.2.1 The modern code review workflow · 2.2.2 Our code review (pull request workflow) · 2.3 Elements of a great PR · 2.3.1 Title: The “what” · 2.3.2 Description (the “why”) · 2.3.3 Labels · 2.3.4 Review states · 2.4 Code review participants and expectations · 2.4.1 The reviewer · 2.4.2 The author · 2.4.3 The team · 2.4.4 Those in charge · 2.4.5 The organization · 2.5 Summary · 2.6 References

What you learn in chapter 2 →

Chapter 3: Building your team’s first code review process

3.1 Establish your goals · 3.1.1 Finding bugs · 3.1.2 Codebase stability and maintainability · 3.1.3 Knowledge transfer and knowledge sharing · 3.1.4 Mentoring · 3.1.5 Recordkeeping/chronicling · 3.1.6 Choosing your code review goals · 3.2 Choose your tools · 3.2.1 Assessing code review functions · 3.2.2 Choosing a tool · 3.3 Set guidelines · 3.3.1 What is our workflow? · 3.3.2 What is your review focus? · 3.3.3 What can block a PR from being approved? · 3.3.4 What’s our approval policy? · 3.4 Refining the process · 3.4.1 Refinement scenario walkthroughs · 3.5 Summary · 3.6 References

What you learn in chapter 3 →

Chapter 4: The Team Working Agreement

4.1 What’s a Team Working Agreement? · 4.2 Setting team expectations with a Team Working Agreement · 4.2.1 Scenario 1: The swift and not-so-swift reviews · 4.2.2 Scenario 2: Mismatched meanings · 4.2.3 Scenario 3: To approve or not to approve? · 4.3 Establishing a TWA with your team · 4.3.1 Do we really need a TWA? · 4.4 What to consider including in your TWA · 4.4.1 More implicit code review expectations · 4.4.2 Reasonable response times · 4.4.3 Reasonable PR sizes · 4.4.4 Issue identification · 4.4.5 Self-approving PRs · 4.4.6 Nitpicks · 4.4.7 Positive review environment · 4.4.8 What happens when a policy is violated? · 4.5 This TWA is the team’s document now · 4.5.1 Need to make a change? · 4.5.2 Final thoughts · 4.6 Summary · 4.7 References

What you learn in chapter 4 →

Chapter 5: The advantages of automation

5.1 Automation as an asset · 5.2 Automation prerequisites · 5.2.1 Team style guide · 5.2.2 Capable tools · 5.3 Automations before the review · 5.3.1 Formatting · 5.3.2 Linting · 5.3.3 Static analyzers · 5.3.4 Automated testing · 5.4 Automations during the review · 5.4.1 PR templates · 5.4.2 PR validators · 5.4.3 Reviewer assignments · 5.4.4 PR gate checks · 5.4.5 Reminders and escalations · 5.5 Summary · 5.6 References

What you learn in chapter 5 →

Chapter 6: Composing effective code review comments

6.1 What makes a comment effective? · 6.1.1 Objectivity · 6.1.2 Specificity · 6.1.3 Focused outcome · 6.1.4 Effective code review comment examples · 6.2 Tone of voice · 6.3 Code compliments · 6.4 Summary · 6.5 References

What you learn in chapter 6 →

Chapter 7: How code reviews can suck

7.1 Code review pain points · 7.1.1 The lazy code review · 7.1.2 The mean code review · 7.1.3 The shape-shifting code review · 7.1.4 The stringent code review · 7.2 So, what do we do? · 7.3 Summary

What you learn in chapter 7 →

Chapter 8: Decreasing code review delays

8.1 “We only have a single senior developer to review our PRs” · 8.2 “I don’t understand the PR” · 8.3 “There are too many files to review” · 8.4 “Feature is too large to review” · 8.5 “There’s too much discussion back and forth” · 8.6 “Code needs to be refactored (sometimes over and over)” · 8.7 Summary · 8.8 References

What you learn in chapter 8 →

Chapter 9: Eliminating process loopholes

9.1 How do loopholes happen? · 9.2 Loopholes (and how to fix them) · 9.2.1 An undefined code review process · 9.2.2 Lack of time for code reviews · 9.2.3 Tool (mis)configurations · 9.2.4 Lack of feedback culture · 9.2.5 Approval-driven metrics · 9.2.6 Taking advantage of emergencies · 9.3 Summary · 9.4 Reference

What you learn in chapter 9 →

Chapter 10: The Emergency Playbook

10.1 What is an Emergency Playbook? · 10.2 What goes in an Emergency Playbook? · 10.2.1 Decision trees · 10.2.2 Authorization process · 10.2.3 Bypassing mechanisms · 10.2.4 Next steps · 10.3 When do we use the Emergency Playbook? · 10.4 Summary

What you learn in chapter 10 →

Chapter 11: Code reviews and pair programming

11.1 Do we do code reviews or pair programming? · 11.1.1 Complementing code reviews with pair programming · 11.1.2 Pair programming can’t replace code reviews · 11.2 Integrating pair programming · 11.2.1 Convincing your team to try pair programming · 11.2.2 Pairing styles · 11.2.3 Considerations for effective pair programming · 11.3 Summary · 11.4 References

What you learn in chapter 11 →

Chapter 12: Code reviews and mob programming

12.1 Do we do code reviews or mob programming? · 12.1.1 Mob programming strengths · 12.1.2 Complementing code reviews with mob programming · 12.1.3 Mob programming can’t replace code reviews · 12.2 Integrating mob programming with code reviews · 12.2.1 Complementary approaches · 12.2.2 Mob programming challenges · 12.3 Summary · 12.4 References

What you learn in chapter 12 →

Chapter 13: Code reviews and AI

13.1 Benefits of AI in code reviews · 13.1.1 Expedited reviews · 13.1.2 Code quality improvement · 13.1.3 Review consistency · 13.1.4 Review scalability for large teams and codebases · 13.2 Limitations of AI in code reviews · 13.2.1 Difficulty understanding context and domain knowledge · 13.2.2 Capabilities are highly dependent on training data · 13.2.3 Over-reliance on AI can hinder human reviewer expertise · 13.3 What can an AI-powered code review do? · 13.4 Integrating AI into your code reviews · 13.5 The future of code reviews: Human-AI collaboration · 13.6 Summary · 13.7 References

What you learn in chapter 13 →

Concepts explained in this book

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.