For this Project 3 Threads milestone, your project must maintain the functionality from the Project v3.1 Tests assignment, address changes from the Project v3.3 Review assignment, create a v3.4.x release that is ideally 2.0x times faster than single-threading, and undergo one or more asynchronous code reviews with the instructor until the design passes.

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:

  1. 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.
  2. 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.
  3. 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.
  4. Make sure all variable, method, and class names are informative and avoid abbreviations. Use the “Refactor » Rename” feature in Eclipse when renaming any identifier.
  5. Make sure exceptions are thrown or properly handled in the main method. Do not output stack traces.
  6. 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.
  7. Make sure all compile warnings have been appropriately addressed. Do not use the @SuppressWarnings annotation—fix the underlying issue instead.
  8. 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:

If your code needs improvement, you will receive additional advice on next steps during your appointment and asked to resubmit your code review request. For example, if you requested a review for v1.4.0, you will be asked to address several more TODO comments, create a v1.4.1 or later release, and re-request a code review.

Otherwise, if the reviewer determines your code is well-designed and ready for additional functionality, you will earn a grade for this design milestone and given instructions on how to move on to the next project.

<aside> <img src="/icons/warning_gray.svg" alt="/icons/warning_gray.svg" width="40px" />

It is rare to pass the design on the first attempt. You should expect to resubmit this assignment between 1 to 3 times.

</aside>

Next Steps

The following assignments may be completed after this one is complete.

Untitled

Related Content

Find more information related to this project assignment below.

Untitled

Untitled