Code Review How And When
@paulmgower
I’m Paul Gower.Principal Consultant at Lunamark@paulmgower
AGENDAWhat Is Code Review1
2
3
How and When
Why Code Review
What Is Code Review
1
Father of Code Review
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5388086&filter%3DAND%28p_IS_Number%3A5388084%29
aka Fagan Inspections
Fagan Inspections
Good for Mission Critical Software
Code Review History
Over-the-shoulder
Email pass-around
Email pass-aroundPlease don’t do this!
Tool-Assisted Code Review
Tool-Assisted Code Review
Tool-Assisted Code Review
Tool-Assisted Code Review
Tool-Assisted Code Review
Tool-Assisted Code Review
Tool-Assisted Code Review
Tool-Assisted Code Review
Tool-Assisted Code Review
How NOT to Code Review
Don’t Be This
Guy
Reviewer: Focus on the code
Reviewer: Focus on the code
Don’t say: “You didn’t name these variables well!”
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?”
Reviewer: Be respectful
Reviewer: Find a positive point
Developer: Be humble
Developer: Prepare Before
Less Than 200 Lines Of Code
Less Than 60 Minutes
Less Than 60 Minutes
http://www.news.illinois.edu/news/11/0208focus_AlejandroLleras.html
Daily Code Review
Daily Code Review
http://blog.fogcreek.com/effective-code-reviews-9-tips-from-a-converted-skeptic/
Always Use A Checklist
Always Use A Checklist
http://www.codeproject.com/Articles/593751/Code-Review-Checklist-and-Guidelines-for-Csharp-De
Don’t Review What Can Be Automated
Static Code Analysis Tools
Static Code Analysis Tools
Static Code Analysis Tools
Static Code Analysis Tools
Static Code Analysis Tools
Static Code Analysis Tools
3
Why 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
Before
After 2%
55%
Code Review Case Studies
Before Code Reviews
After Code Reviews
Reasons to Code Review
Easier To Find Other’s Mistakes
Alternative Implementations
Knowledge Sharing
“ “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
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
THANK YOU!
@paulmgower
http://bit.ly/ttf2016-crhw