CSCI 250 - Programming Practicum
Fall 2009
Code Review
When reviewing another student's program, assess the following:
- User interface design:
- Do you feel in control of the interface?
- Is the interface consistent with other programs you use?
- Are you able to figure out how the program works without reading text?
- Does anything about the program frustrate you?
- Classes and methods
- For each class:
- Describe the abstraction represented by this class in three sentences
or less.
- Do you think this class represents more than one abstraction? If so,
briefly describe them.
- Is the class mutable or immutable?
- Are there any chained method invocations? How long?
- Are there any magic numbers?
- Are there any methods that could be subdivided using helper methods?
- Is there any code duplication?
- Are there any methods that are not cohesive (i.e. do more than one
distinct task)?
For reviewing your own code, assess your program according to the
"Classes and methods" topics above. In addition:
- List of features that work properly
- Test cases used for verifying each working feature
- List of known bugs
- Test case that triggers the bug
- Program (mis)behavior in that test case