Software Quality

Code Review

Milan Hradil

The Value you'll get today

What is code review

Misconceptions

Benefits

How to start with code review

Hands on ...

Do we need improve software quality?

Who is using Code Reviews?

Raise your hand!!!

Code Review

A junior or simply not-so-good programmer presents his work for review to an experienced colleague,

 

receives excellent suggestions within one hour,

 

and another hour later all suggestions are implemented and the code transforms from nasty to near-perfect.

Code Review

Code Review

  1. Review of non-trivial code takes a long time.
  2. Becomes harder to do a quality review as the time needed for the review increases.
  3. More time spent in review leads to poorer reviews, creating a downward spiral leading to deadlock.

Code Review

Solution?

Code Review

Consider Agile approach!

Code Review

Make code reviews:

 

small

 

and have the entire team in charge of making, accepting and implementing generated suggestions

Code Review

Misconceptions

 

A bug hunt

Code review won't guarantee you've found all the bugs

 

A blame game

When you focus on finding deficiencies in people rather than the code

Code Review

What reviews provide?

Functionality (defects in the code)

Maintainability (easy to understand)

Security

Reliability (fault tolerance)

Code Review

Why reviews are valuable?

Engineers like to take vacation

New employees want to be productive quickly

Nobody likes bugs

Team culture evolves

Make better estimates

Code Review

But code reviews take time!

When done right, code reviews actually save time in the long run.

Code Review

How to start?

Keep it lightweight

Encourage asynchronous reviews

Share interesting findings, constructs, design decisions

Small and frequent over large and rare

Concentrate on the code and conversation

Hands on ...

software quality - code review

By Milan Hradil

software quality - code review

  • 420