Unless instructed otherwise, grade programs based on:
For any points deducted, put a CONSIDER
tag saying how many points deducted and why.
For each item marked (per the grading instructions specific to the assignment):
Students should use:
Grader: You need not “grade” the students’ use of process (since it is hard to do so), but we reserve the right to reduce a student’s score if he is not using the above process.
Deduct 10% of the assignment’s total for each of the following (but limit the total deducted for style to a maximum of 40% of the assignment’s total):
Control-Shift-F on the file causes any significant change. Deduct 10% for EACH such change.
Eclipse highlights in purple the line numbers of lines that change when you do Control-Shift-F.
Grader, you can put a single CONSIDER that says something like “-30% for 3 errors exposed by Control-Shift-F” – you don’t have to explain any further, since the student can do Control-Shift-F herself to see the changes.
Any warning messages are left (students should use @SuppressWarnings if the source of the warning is intentional).
Any missing documentation will generate a warning message. Deduct as a style or documentation error (but not as both).
A variable is introduced where the code is clearer without it. For example:
int answer = ... blah …; return answer;
is clearer when written simply as:
return … blah …;
A variable has greater scope that necessary.
For example: a variable that could be local to a method is instead a field, or a for loop variable is not local to the for loop.
Deduct 10% of the assignment’s total for each of the following (but limit the total deducted for documentation to a maximum of 40% of the assignment’s total):
Tags without a reasonable description, e.g. @param
with nothing after it.
Exception: if the name of the parameter is self-documenting, nothing is needed after the @param (e.g. @param ballToAdd is self-documenting).
Undocumented (or poorly documented) private methods whose name and parameter names do not make it clear what the method accomplishes.
Such comments should rarely be necessary, since method and parameter names should generally be chosen to make the method self-documenting.