Code Review Checklist
Code Review Checklist
Code Review Checklist
The goal of the review checklist is to facilitate the evaluation of the following aspects of
the code to determine whether: the code is defect-free (no logic and maintenance
errors); the code matches the design; and the code matches the requirements (no
unnecessary features, or features that don't meet the requirements).
1) Understandability
a. Do you understand the code? Does a method definition comment
document which of its parameters the method is going to change?
b. Are the comments accurate?
c. Are the names of the variables meaningful?
d. If the program language allows mixed case names, are the variables
named with confusing use of lower case letters and capital letters?
e. Are there similar sounding names? (May lead to unintended errors.)
f. Is sufficient attention being paid to readability issues like indentation of code?
2) Maintainability
3) OO best practices
Page 2 of 4
Version 0.3
Page 3 of 4
Version 0.3
a. Does the code follow widely accepted coding standard? For example, Code
Conventions for the Java Programming Language.
http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-
1 36057.html
b. Are values being assigned to variables of the corresponding data types?
c. If there is a nested if statement, are the then and else parts
appropriately delimited?
d. In the case of a multi-way branch, such as a switch-case statement, is
a default clause provided? Are the breaks after each case appropriate?
e. Are there any loops where the final condition will never be met and hence
cause the program to go into an infinite loop?
f. Does the code follow any coding conventions that are platform specific?
g. Are "unhealthy" programming constructs (e.g., global variables in C)
being used in the program?
h. Are resources released?
i. Is exception handling used correctly? For example, no empty catch, no
generic exceptions, no losing of stack trace, no losing inner exception
j. Is every public method justifiably public, e.g., not by accident or for testing?
Page 4 of 4