code reviews - vortrag für innogames
DESCRIPTION
Updated Code Review presentation for internal Innogames presentation on 18.Dec 2012TRANSCRIPT
Code Peer ReviewsLeave your ego at the door
Frank Sons18.12.2012
Frank Sons - 18.12.2012 Seite: / 28
So what’s this about?
2
Introducing Reviews
Collective Code Ownership
Reviews done right
Beware the dragons!
Frank Sons - 18.12.2012 Seite: / 28
A short introduction to reviewsForget about the code for the moment...
3
Frank Sons - 18.12.2012 Seite: / 28
What’s the idea?
4
Peer review methods are employed to maintain standards, improve
performance and provide credibility.
Frank Sons - 18.12.2012 Seite: / 28
Reviews aren’t limited to code...
5
Frank Sons - 18.12.2012 Seite: / 28
Every project has reviews
6
Educational reviews
Management reviews
Peer reviews
Status reviews
Post-project review
Frank Sons - 18.12.2012 Seite: / 28
Back to the code...
7
IBM: Inspection introduced in 1970s
Google: 20% rule used for reviews
Frank Sons - 18.12.2012 Seite: / 28
“That’s not my code!”Collective code ownership is a mindset
8
Frank Sons - 18.12.2012 Seite: / 28
What about the ego?
9
“Everyone has the right and freedom to totally suck in private.”
Frank Sons - 18.12.2012 Seite: / 28
Forget about your ego!
10
“Attempt to be awesome in public and embrace the suck!”
Frank Sons - 18.12.2012 Seite: / 28
Reviews are knowledge sharing!
11
Frank Sons - 18.12.2012 Seite: / 28
Share within your team...
12
Product knowledge
Technical knowledge
Coding Standards
Transparency
Frank Sons - 18.12.2012 Seite: / 28
The right review for the right jobHow to review - a comprehensive overview
13
Frank Sons - 18.12.2012 Seite: / 28
Ad hoc
14
Just ask someone
Takes only a few minutes
Happens everywhere
Little impact beyond problem
Completely informal
Frank Sons - 18.12.2012 Seite: / 28
Peer deskcheck / passaround
15
Asking someone for input
Can be asynchronous
Author is not present
Ideal for mentoring and coaching
Very informal
Frank Sons - 18.12.2012 Seite: / 28
Pair Programming
16
Agile approach
Driver and navigator
Rapid iterations
Cultural change needed
Informal review
Frank Sons - 18.12.2012 Seite: / 28
Walkthrough
17
Author explains code
Code reading
Ideal to present and educate
Risk of overlooking critical code
Informal, no defined process
Frank Sons - 18.12.2012 Seite: / 28
Team review
18
Used to judge product / API
Check against specifications
Preparation needed
Reviews collect data and input
Planned and structured
Frank Sons - 18.12.2012 Seite: / 28
Inspection
19
Industry standard (IBM)
Specific roles and trained inspectors
Checklist
Moderated review
Most formal approach
Frank Sons - 18.12.2012 Seite: / 28
“Inspection walkthrough”
20
Reader doesn’t know code
Experienced dev for “eagle eye” view
Author answers questions
Specific code section / class
Moderated review
Frank Sons - 18.12.2012 Seite: / 28
Beware the dragons!It can be tricky...
21
Frank Sons - 18.12.2012 Seite: / 28
Egoless!
22
My ego is not tied to my “perfect” or “imperfect” work product.
Frank Sons - 18.12.2012 Seite: / 28
Avoid the dragons
23
Leave your ego at the door
No fingerpointing
Cultural issues / Resistance
No personal consequences
Lack of knowledge
Frank Sons - 18.12.2012 Seite: / 28
Some things to keep in mind
24
Three to seven participants
Not longer than two hours
Manager involved in planning
Find problems, not solutions
Review coverage vs. project size
Frank Sons - 18.12.2012 Seite: / 28
Just do it!
25
Frank Sons - 18.12.2012 Seite: / 28
This helps...
26
ISBN:978-0201734850
Frank Sons - 18.12.2012 Seite: / 28
I hope you had a good time!
27
Reviews improve your team
Reviews are all about the mindset
Don’t fear the dragons