****For this Project 4 Crawl milestone, your project must maintain the functionality from the Project v4.1 Tests assignment and undergo a single synchronous code review to evaluate its design. There is only one code review and opportunity for your code to pass the design for this project; resubmissions will not be accepted.
TABLE OF CONTENTS
Prerequisites
You must complete the following assignments before beginning to work on this one:
Untitled
Code Cleanup
Clean up your code before requesting a code review. This includes:
- Make sure the indentation is consistent (either using tabs -or- spaces, not both). Eclipse has a “Correct Indentation” feature that can be run every time you save a file.
- Make sure the formatting consistently follows a code style standard. Eclipse has a built-in formatter that can be run every time you save a file.
- Make sure all of the members and methods have informative Javadoc comments. Each parameter, return, and exception thrown should be described. See the lecture code, homework, and Java API for examples.
- Make sure all variable, method, and class names are informative and avoid abbreviations. Use the “Refactor » Rename” feature in Eclipse when renaming any identifier.
- Make sure exceptions are
thrown
or properly handled in the main
method. Do not output stack traces.
- Make sure to remove any
println
statements used for debugging code. Only the main
method should produce console output, and it should always be informative and user-friendly.
- Make sure all compile warnings have been appropriately addressed. Do not use the
@SuppressWarnings
annotation—fix the underlying issue instead.
- Remove any debugging comments that are no longer needed, including removing commented-out code.
The Configuring Eclipse guide shows how to automate several of these steps every time you save a file.
<aside>
<img src="/icons/warning_gray.svg" alt="/icons/warning_gray.svg" width="40px" /> We expect that your code may have 1 or 2 minor cleanup issues before a code review. However, we will charge 1 or more tokens for a significant number of repeat issues, or if it is clear you did not attempt to cleanup your code before requesting a code review.
</aside>
Grading
Your goal is to create a well-designed version of your project. In addition to addressing TODO
comments form previous code reviews, the reviewer will evaluate whether your code meets the following factors:
- Professional code style (spacing, formatting, capitalization, names of classes, methods, and members) and no compile or Javadoc warnings
- Professional Javadoc comments (well-formatted, none missing, all information professional described)
- Keywords used appropriately (static, final, default, abstract, implements, extends)
- Exception handling (thrown or caught when appropriate, no suppressed exceptions)
- Encapsulation (appropriate use of public vs private, safe get or view methods)
- Generalization (generally useful classes where appropriate)
- Reusability (limited amount of duplicate code, code created to be as reusable as possible by other developers)
- Efficiency when single-threading (avoiding unnecessary loops or copies in code, creating unnecessary objects, using mutable or immutable objects where appropriate)