how and when to code review

66
How And When To Code Review Paul Gower @paulmgower

Upload: paul-gower

Post on 18-Feb-2017

164 views

Category:

Software


0 download

TRANSCRIPT

Page 1: How and When To Code Review

How And When To Code Review

Paul Gower@paulmgower

Page 2: How and When To Code Review

I’m Paul Gower.Principal Consultant at Lunamark@paulmgower

Page 3: How and When To Code Review

AGENDAWhat Is Code Review1

2

3

How and When

Why Code Review

Page 4: How and When To Code Review

What Is Code Review

1

Page 5: How and When To Code Review

Father of Code Review

http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5388086&filter%3DAND%28p_IS_Number%3A5388084%29

aka Fagan Inspections

Page 6: How and When To Code Review

Fagan Inspections

Good for Mission Critical Software

Page 7: How and When To Code Review

Code Review History

Page 8: How and When To Code Review
Page 9: How and When To Code Review

Over-the-shoulder

Page 10: How and When To Code Review

Email pass-around

Page 11: How and When To Code Review

Email pass-aroundPlease don’t do this!

Page 12: How and When To Code Review

Pair Programming

Page 13: How and When To Code Review

Tool-Assisted Code Review

Page 14: How and When To Code Review

Tool-Assisted Code Review

Page 15: How and When To Code Review

Tool-Assisted Code Review

Page 16: How and When To Code Review

Tool-Assisted Code Review

Page 17: How and When To Code Review

Tool-Assisted Code Review

Page 18: How and When To Code Review

Tool-Assisted Code Review

Page 19: How and When To Code Review

Tool-Assisted Code Review

Page 20: How and When To Code Review

Tool-Assisted Code Review

Page 21: How and When To Code Review

Tool-Assisted Code Review

Page 22: How and When To Code Review

How and When

2

Page 23: How and When To Code Review

How NOT to Code Review

Page 24: How and When To Code Review

Don’t Be This

Guy

Page 25: How and When To Code Review
Page 26: How and When To Code Review

Reviewer: Focus on the code

Page 27: How and When To Code Review

Reviewer: Focus on the code

Don’t say: “You didn’t name these variables well!”

Page 28: How and When To Code Review

Reviewer: Focus on the code

Don’t say: “You didn’t name these variables well!”

Instead: “I don’t understand these variable names, can you help me understand them?”

Page 29: How and When To Code Review

Reviewer: Be respectful

Page 30: How and When To Code Review

Reviewer: Find a positive point

Page 31: How and When To Code Review

Developer: Be humble

Page 32: How and When To Code Review

Developer: Prepare Before

Page 33: How and When To Code Review

Tips and Tricks

Page 34: How and When To Code Review

Less Than 200 Lines Of Code

Page 35: How and When To Code Review
Page 36: How and When To Code Review

Less Than 60 Minutes

Page 37: How and When To Code Review

Less Than 60 Minutes

http://www.news.illinois.edu/news/11/0208focus_AlejandroLleras.html

Page 38: How and When To Code Review

Daily Code Review

Page 39: How and When To Code Review

Daily Code Review

http://blog.fogcreek.com/effective-code-reviews-9-tips-from-a-converted-skeptic/

Page 40: How and When To Code Review

Always Use A Checklist

Page 41: How and When To Code Review

Always Use A Checklist

http://www.codeproject.com/Articles/593751/Code-Review-Checklist-and-Guidelines-for-Csharp-De

Page 42: How and When To Code Review

Don’t Review What Can Be Automated

Page 43: How and When To Code Review

Static Code Analysis Tools

Page 44: How and When To Code Review

Static Code Analysis Tools

Page 45: How and When To Code Review

Static Code Analysis Tools

Page 46: How and When To Code Review

Static Code Analysis Tools

Page 47: How and When To Code Review

Static Code Analysis Tools

Page 48: How and When To Code Review

Static Code Analysis Tools

Page 49: How and When To Code Review

3

Why Code Review

Page 50: How and When To Code Review

“ “…the average defect detection rate is only 25 percent for unit testing, 35 percent for function testing, and 45 percent for integration testing.

In contrast, the average effectiveness of design and code

inspections are 55 and 60 percent.” - Steve McConnell, Code

Complete, 2004

Page 51: How and When To Code Review
Page 52: How and When To Code Review

Before

After 2%

55%

Code Review Case Studies

Page 53: How and When To Code Review

Code Review Case Studies

Without

With 0.82 errors / 100 loc

4.5 errors / 100 loc

Page 54: How and When To Code Review

Before Code Reviews

Page 55: How and When To Code Review

After Code Reviews

Page 56: How and When To Code Review

Reasons to Code Review

Page 57: How and When To Code Review
Page 58: How and When To Code Review

Save Money

Page 59: How and When To Code Review

Easier To Find Other’s Mistakes

Page 60: How and When To Code Review

Use Peer Pressure To Your Advantage

Page 61: How and When To Code Review

Alternative Implementations

Page 62: How and When To Code Review

Knowledge Sharing

Page 63: How and When To Code Review
Page 64: How and When To Code Review

“ “The aim is to catch what mistakes you can and to get better – not to attempt perfection.”

- Erik Dietrich, “Creating Your Code

Review Checklist”, 2015

Page 65: How and When To Code Review

Review

• No more than 60 mins • No more than 200 lines of code • Use Static Code Analysis • Use Check Lists • Use A Code Review Tool

Page 66: How and When To Code Review

THANK YOU!

@paulmgower

http://bit.ly/cs2016-cr