|
Trait |
Exceptional |
Acceptable |
Amateur |
Unsatisfactory |
|
Specifications |
The program works and meets all of the specifications. |
The program works and produces the correct results and displays them correctly. It also meets most of the other specifications. |
The program produces correct results but does not display them correctly. |
The program is producing incorrect results. |
|
Readability |
The code is exceptionally well organized and very easy to follow. |
The code is fairly easy to read. |
The code is readable only by someone who knows what it is supposed to be doing. |
The code is poorly organized and very difficult to read. |
|
Reusability |
The code could be reused as a whole or each routine could be reused. |
Most of the code could be reused in other programs. |
Some parts of the code could be reused in other programs. |
The code is not organized for reusability. |
|
Documentation |
The documentation is well written and clearly explains what the code is accomplishing and how. |
The documentation consists of embedded comment and some simple header documentation that is somewhat useful in understanding the code. |
The documentation is simply comments embedded in the code with some simple header comments separating routines. |
The documentation is simply comments embedded in the code and does not help the reader understand the code. |
|
Delivery |
The program was delivered on time. |
The program was delivered within a week of the due date. |
The code was within 2 weeks of the due date. |
The code was more than 2 weeks overdue. |
|
Efficiency |
The code is extremely efficient without sacrificing readability and understanding. |
The code is fairly efficient without sacrificing readability and understanding. |
The code is brute force and unnecessarily long. |
The code is huge and appears to be patched together. |