22
TIM PETTERSEN SENIOR DEVELOPER ATLASSIAN @KANNONBOY Ten tips for effective code review

10 Tips for Effective Code Review

Embed Size (px)

Citation preview

Page 1: 10 Tips for Effective Code Review

TIM PETTERSEN • SENIOR DEVELOPER • ATLASSIAN • @KANNONBOY

Ten tips for effective code review

Page 2: 10 Tips for Effective Code Review

1. One issue, one pull request

=

Page 3: 10 Tips for Effective Code Review

1. One issue, one pull request

# what’s shipping? $ git branch --merged

# what’s left to ship? $ git branch --no-merged

Page 4: 10 Tips for Effective Code Review

master

IN REVIEW DONEIN PROGRESSOPEN

Automatic Transitions

Page 5: 10 Tips for Effective Code Review

feature/JIRA-30

master

IN REVIEW DONEIN PROGRESSOPEN

Branch created!

Automatic Transitions

Page 6: 10 Tips for Effective Code Review

feature/JIRA-30

master

IN REVIEW DONEIN PROGRESSOPEN

Pull Request Created!

Automatic Transitions

Page 7: 10 Tips for Effective Code Review

feature/JIRA-30

master

IN REVIEW DONEIN PROGRESSOPEN

Pull Request Merged!

Automatic Transitions

Page 8: 10 Tips for Effective Code Review

2. Minimum TWO approvals before merge

3. Have 1.5x - 2.5x that number reviewers

Page 9: 10 Tips for Effective Code Review

Fewer reviewers find more defects

0

7.5

15

22.5

30

1 2 3 4 5 6 7 8 9

Def

ects

/ k

LoC

Number of Reviewerssource: bit.ly/review-stats

Page 10: 10 Tips for Effective Code Review

More reviewers spend less time

0

7

14

21

28

1 2 3 4 5 6

Min

utes

spe

nt /

revi

ewer

Number of Reviewerssource: bit.ly/review-stats

Page 11: 10 Tips for Effective Code Review

4. Use blame to pick reviewers

Page 12: 10 Tips for Effective Code Review

4. Use blame to pick reviewers

$ npm install -g git-guilt

# find blame delta for current branch $ git guilt `git merge-base master HEAD` HEAD

Alice Foo ++++++++++++++++++++++++(239) Bob Bar ++++++++ Eve Baz ------- Mira Ted ---------------- Bec Opal ------------------------(-159)

Page 13: 10 Tips for Effective Code Review

4. Use blame to pick reviewers

bit.ly/suggest-reviewers

Page 14: 10 Tips for Effective Code Review

5. @mention specialists

Page 15: 10 Tips for Effective Code Review

6. Stuck in review?

Make Tuesday & Thursday inbox zero days

Page 16: 10 Tips for Effective Code Review

betterCode;

7. Move comments into code

review comments

// comments // in code

Page 17: 10 Tips for Effective Code Review

8. Build a team policy, as a team…

…and enforce it!

Page 18: 10 Tips for Effective Code Review

9. Add screenshots for UI/UX changes

(gifs / videos are even better)

Page 19: 10 Tips for Effective Code Review

9. Add screenshots for UI/UX changes

(gifs / videos are even better)

Monosnap GIPHY ScreenFlow

Page 20: 10 Tips for Effective Code Review

Ask a programmer to review 10 lines of code, they'll find 10 issues. Ask them to do 500 lines and they'll say it looks good.@ G I R AY O Z I L

“”

10. Keep it concise

Page 21: 10 Tips for Effective Code Review

10. Keep it concise Se

cond

s pe

r lin

e

Lines of Code

1 line per second

100 lines per second

source: bit.ly/review-stats

Page 22: 10 Tips for Effective Code Review

Thank you!

TIM PETTERSEN • SENIOR DEVELOPER • ATLASSIAN • @KANNONBOY