CS 257: Software Design

Code review: books

We will have our first code review session during your first Discussion Group meeting this week. You should prepare as an individual, though you may certainly talk to your classmates while preparing, if you wish.

Goals

What's a code review?

Code reviews vary in structure, complexity, and formality, but they share a core idea: you can improve the quality of software by letting somebody other than its author read the source code and provide feedback. Good software teams pretty much universally use some form of code review process. In this class, we will do several code and design reviews, some of them followed by revisions of the software in question.

In my experience, when all participants prepare well and treat each other respectfully, code reviews are tons of fun, and great learning opportunities for everyone. That's what I'm shooting for in our first code review this week.

Preparation

During the code review

How to help, not hurt

Even among people who trust each other and have strong existing relationships, having your code reviewed can be stressful. In a class situation like this, where we mostly don't know each other very well yet, it can be even more so. The benefits of code reviews can be huge, but only if they are run within a positive and supportive environment. Here are a few suggestions for creating and maintaining that kind of environment.