Slide 1

Slide 1 text

Effective Pull Request Reviews @basthomas 1

Slide 2

Slide 2 text

Bas Broek @basthomas 2

Slide 3

Slide 3 text

Bas Broek » Accessibility @basthomas 2

Slide 4

Slide 4 text

Bas Broek » Accessibility » Testability @basthomas 2

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Bas Broek » Accessibility » Testability » Communication & Collaboration » (and Watches) @basthomas 2

Slide 7

Slide 7 text

Effective Pull Request Reviews @basthomas 3

Slide 8

Slide 8 text

Developer Playground @basthomas 4

Slide 9

Slide 9 text

(Unique?) Teamwork @basthomas 5

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Shared Responsibility @basthomas 7

Slide 12

Slide 12 text

Effective Pull Request Reviews @basthomas 8

Slide 13

Slide 13 text

It Goes Both Ways @basthomas 9

Slide 14

Slide 14 text

Keep it to the Point @basthomas 10

Slide 15

Slide 15 text

Code. Tests. Documentation. @basthomas 11

Slide 16

Slide 16 text

Explain Your Thought Process @basthomas 12

Slide 17

Slide 17 text

How can this be Tested? @basthomas 13

Slide 18

Slide 18 text

Visualise @basthomas 14

Slide 19

Slide 19 text

Assume Best Intentions @basthomas 15

Slide 20

Slide 20 text

Manage Expectations @basthomas 16

Slide 21

Slide 21 text

Soak Up Knowledge @basthomas 17

Slide 22

Slide 22 text

Read the Ticket and Description @basthomas 18

Slide 23

Slide 23 text

Ask Questions @basthomas 19

Slide 24

Slide 24 text

... Ask More Questions @basthomas 20

Slide 25

Slide 25 text

Self-Review @basthomas 21

Slide 26

Slide 26 text

Re-Read a Review @basthomas 22

Slide 27

Slide 27 text

Share Knowledge @basthomas 23

Slide 28

Slide 28 text

Provide Context @basthomas 24

Slide 29

Slide 29 text

Provide References @basthomas 25

Slide 30

Slide 30 text

// Why? /// What? @basthomas 26

Slide 31

Slide 31 text

/// 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

Slide 32

Slide 32 text

/// 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

Slide 33

Slide 33 text

What Else? @basthomas 29

Slide 34

Slide 34 text

Non-Code Pull Request Reviews @basthomas 30

Slide 35

Slide 35 text

In-Person Review @basthomas 31

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

Git is Forever @basthomas 34

Slide 39

Slide 39 text

Your Pull Request Environment May Not Be @basthomas 35

Slide 40

Slide 40 text

Avoid Derogatory Words @basthomas 36

Slide 41

Slide 41 text

The most important thing: Interesting work with good people — Aaron Hillegass @basthomas 37

Slide 42

Slide 42 text

Point Out the Good Things @basthomas 38

Slide 43

Slide 43 text

Thank you! @basthomas @basthomas 39