CS71 Lab 3: Code review

To avoid criticism, do nothing, say nothing, and be nothing. -- Elbert Hubbard

Due Sunday, February 17, before midnight

The goals for this lab assignment are:

Getting started

By this point in the semester, everyone should have a github account. We will be using the code discussion feature in github to add comments. Comments can be made on individual commits.

Github Code Discussion Tools

Github Code Discussion Tools

For this task, everyone has been randomly assigned a repository to review. The code being reviewed is anonomous. However, your comments are not anonymous. After reviews have been passed in, authors will be given access to their comments and may choose to respond or ask for clarifications.

$ cd cs71
$ git clone git@github.swarthmore.edu:cs71-s19/code-review1-YOURUSERNAME.git 

Guidelines for performing a code review

What to look for

These guidelines are based on the ones here

Bugs/Potential bugs

Unclear, messy code

Misused design concepts

Specifically, for the constellation assignment

Be respectful!

As programmers, we all "live in glass houses". Everyone makes mistakes. Anyone can be wrong or tired or careless. Be constructive! For example, don't say: "hopeless mess". Instead say: "Perhaps better variable names will make this more clear." Focus on specific, fixable suggestions. NEVER attack or insult the coder. ALWAYS stick to objective observations about the code.

What if you feel like you're "not qualified" to give feedback?

Everyone has something to offer if they are in this class. You can always remark on clarity, the principles mentioned in class, and code style.

What if you can't find anything wrong?

It's ok to say that someone's code is good! You can say: "elegant solution here" or "neat technique".

About credit

This task will be graded with a letter grade (A, B, C, or F) and will count towards your participation grade. Credit will be based on the level of thoughtfullness, correctness, and tact.