Code Reviews

Why code review

As professional developers, we need to always be learning and improving.

Code review is one of the best tools for this.

Code review is like having a personal tutor.

Code review helps more people to become familiar with the code.

Code review squishes bugs.

Getting code ready for review

  • Write tests - if there are tests, much easier to make changes on the fly during review

  • First draft is messy, refactor before code review

  • To get the most out of it, correct all that you can before review

  • Expect advice and corrections, and learn from them!

  • For this class, messy is okay. :-)

Size of code

  • Code to review should be between 200 and 400 lines of code

  • Code can, and often will, be part of a bigger project

  • Code should be modular, so can examine one smallish piece during review:
    • and be able to explain how it fits in the bigger project

    • and be able to explain what the smallish piece is doing in a few sentences

When/Why to review code

  • Think your code is ready for production

  • Have code working, but seems there is probably a better way

  • Totally Stuck

  • Having difficulty making it modular, can help you break large chunks into smaller chunks

What to look for

  • readability

  • ‘pythonic’

  • tests

  • short functions/methods

  • anything not clear

  • logic issues

Types of code review

When refactoring or doing code reviews in person

Write comments explaining what the code is doing (if unclear) and/or questions about the code

Then, if time permits you can jointly:

  • work on making the code clearer

  • run tests after changes

  • goal is to make it clear enough to get rid of the comment(s) that were added

Or do this yourself afterwards, as you would for written code reviews

How this will work in class

  • Code can be pretty rough, no judging. :)

  • Person having code reviewed will send out link to code (a couple of days out, preferably)

  • At the beginning of the code review, reviewee will:

    • give a quick overview of the bigger picture

    • give a quick overview of the specific code we will look at

  • We will go over code together. Everyone is encouraged to make comments and ask questions.

Feel free to ask your classmates in slack or on the mailing list about code you are writing. This is why you have access to everyone’s code, to share and learn from each other.