Code Review

SOME INFORMATION ON THIS PAGE SUBJECT TO CHANGE FOR SUMMER 2023

Code review ( a.k.a. inspection ) is a standard practice in many software engineering projects. The idea of code review is to draw on the skills of a team to collectively identify both areas of excellence and areas where improvements are needed.  The code review process has been shown to discover more bugs faster than traditional testing, to improve overall software quality, to establish standards within a group, to improve morale, and to quickly bring new programmers up to speed in a new working environment.

The code review process in CS 211 is as follows:

  • Code Reviews will be conducted by groups of either 2 or (preferably) 3 students. One student will present some code they wrote for a previous assignment and the other students will provide both positive feedback and suggestions for improvement.
  • Code under review may be from either CS 211 or from previous semesters, under the following restrictions:
    • Code reviewed from a CS 211 assignment must be one from this semester, for which the late deadline has already expired.
    • Code reviewed from past semesters must be one for which all students in the review have already received a passing grade in the course in which the code was originally submitted, and do not intend to repeat the course.
    • Code written for other purposes, e.g. a personal project not part of any course, may be acceptable, provided the original author is enrolled in CS 211 and participates as author in the review.  Check with an instructor if you have any questions about this option.
    • A reminder that it is forbidden for any student to ever look at any other student's code, except for this very narrow purpose of code reviews.
  • The members of the group can change from review to review.  Students may participate in more than one group over the course of the semester but should review a variety of assignments.
  • Code Reviews will be submitted via a Google form.  One form is to be filled out for each review that is conducted, and the form must include the names of all students involved in the review.  One of the reviewers should submit the form, acting as the "Head Reviewer".
  • Each student must present code as an author on at least one review to earn full marks. Each code review is worth 1 point.  Students may participate in multiple reviews, but no more than 1 point can be earned as a reviewer for any given assignment ( e.g. project 2 ) and no more than 5 points can be earned through code reviews over the course of the semester.
  • Code reviews will typically be performed during lab sessions, in separate breakout rooms.  Alternatively students may meet on their own to conduct code reviews.

Files needed for code reviews:

  • CS 211 code_review_checklist.pdf
  • Code Review Form.  A complete form must include the following:
    • The name and NetID of the author and of either 1 or (preferably) 2 reviewers.  A student can not be an author and a reviewer on the same form.
    • Specification of the code being reviewed.
    • Evaluation of the code with respect to at least one item from the checklist linked above.
    • Descriptions of at least one area of the code that is well written and at least one section that can use some improvement, with explanations of why.