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

Effective Pull Request Reviews

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.

Bas Broek

October 08, 2021
Tweet

More Decks by Bas Broek

Other Decks in Programming

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