Guidelines for Code Quality
In addition to the correctness of your program, you will be graded based on the quality of your code. Our assessment will consider the following elements:
Documentation
Code is well documented and written in a way that makes it easy to comprehend (see this guide to documenting your code and the official docstring conventions):
- Docstring comments are provided for every function (unless the assignment explicitly states otherwise)
- Comments throughout code make code easier to understand for the reader (e.g., where needed to explain something tricky)
- Function, variable, and class names are descriptive
Style
You follow best practices for style in your code (see the PEP8 Style Guide):
- Whitespace is used appropriately to:
- Logically separate pieces of your algorithm
- Make expressions more readable
- Separate function definitions with a single blank line between
- Consistent style is used for variable, class, and function names
snake_caseis usually used in Python for variables and functions
- Line length is less than 80 characters
- “Commented out” code that is not functional is removed
- “TODO” and “Fill in here” comments are removed before submission
Design
Your code is written efficiently and appropriately uses programming constructs:
- Variables are used effectively and help to avoid repetition
- Named constants are used appropriately to enable modification of constants
- All branches of conditionals are reachable
- Brevity: you should not copy-paste code within your program if at all possible!
- Code is separated into meaningful functions
- Loops are used when you are doing the same thing multiple times
breakandcontinueare used sparingly
- Code shows good understanding of programming constructs
- Appropriate use of data structures