Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Effective Pull Request Reviews

79fe3c13c618a61329298bdd6a86ec42?s=47 Bas Broek
October 08, 2021

Effective Pull Request Reviews

Pull request (and their associated reviews) are an integral part of a developer’s life. And for good reasons!

While some may love them, and others somewhat less so, there’s a good chance you’re spending quite some time on reviews as part of your project or job.

Therefore, it’s crucial to make our pull request experience great. And kind. And welcoming.

I want to share some thoughts on what I’ve learned about making the pull request experience awesome.

79fe3c13c618a61329298bdd6a86ec42?s=128

Bas Broek

October 08, 2021
Tweet

Transcript

  1. Effective Pull Request Reviews @basthomas 1

  2. Bas Broek @basthomas 2

  3. Bas Broek » Accessibility @basthomas 2

  4. Bas Broek » Accessibility » Testability @basthomas 2

  5. Bas Broek » Accessibility » Testability » Communication & Collaboration

    @basthomas 2
  6. Bas Broek » Accessibility » Testability » Communication & Collaboration

    » (and Watches) @basthomas 2
  7. Effective Pull Request Reviews @basthomas 3

  8. Developer Playground @basthomas 4

  9. (Unique?) Teamwork @basthomas 5

  10. From "Your" Code to "Our" Code @basthomas 6

  11. Shared Responsibility @basthomas 7

  12. Effective Pull Request Reviews @basthomas 8

  13. It Goes Both Ways @basthomas 9

  14. Keep it to the Point @basthomas 10

  15. Code. Tests. Documentation. @basthomas 11

  16. Explain Your Thought Process @basthomas 12

  17. How can this be Tested? @basthomas 13

  18. Visualise @basthomas 14

  19. Assume Best Intentions @basthomas 15

  20. Manage Expectations @basthomas 16

  21. Soak Up Knowledge @basthomas 17

  22. Read the Ticket and Description @basthomas 18

  23. Ask Questions @basthomas 19

  24. ... Ask More Questions @basthomas 20

  25. Self-Review @basthomas 21

  26. Re-Read a Review @basthomas 22

  27. Share Knowledge @basthomas 23

  28. Provide Context @basthomas 24

  29. Provide References @basthomas 25

  30. // Why? /// What? @basthomas 26

  31. /// Create and return an action with the specified title

    and behavior. /// ... public convenience init( title: String? = nil, image: UIImage, isChecked: Bool = false, style: UIAlertAction.Style, handler: ((UIAlertAction) -> Void)? = nil ) { self.init(title: title, style: style, handler: handler) // Set values for specific keys, as there is no explicit API available. setValue(image, forKey: imageKey) setValue(isChecked, forKey: isCheckedKey) } @basthomas 27
  32. /// Create and return an action with the specified title

    and behavior. /// ... public convenience init( title: String? = nil, image: UIImage, isChecked: Bool = false, style: UIAlertAction.Style, handler: ((UIAlertAction) -> Void)? = nil ) { self.init(title: title, style: style, handler: handler) // Set values for specific keys, as there is no explicit API available. setValue(image, forKey: imageKey) setValue(isChecked, forKey: isCheckedKey) } @basthomas 28
  33. What Else? @basthomas 29

  34. Non-Code Pull Request Reviews @basthomas 30

  35. In-Person Review @basthomas 31

  36. In-Person Review Review Over a Video Call @basthomas 32

  37. Treat it as if it Were Open Source! @basthomas 33

  38. Git is Forever @basthomas 34

  39. Your Pull Request Environment May Not Be @basthomas 35

  40. Avoid Derogatory Words @basthomas 36

  41. The most important thing: Interesting work with good people —

    Aaron Hillegass @basthomas 37
  42. Point Out the Good Things @basthomas 38

  43. Thank you! @basthomas @basthomas 39