Peer Review Form for Secure Key Collection ========================================== Reviewer information -------------------- Name: Id.number: Date: Criteria -------- Rate each of the following five items on a scale from 0 through 2, and motivate the score. Enter these results in the template below the cut line. When filled out, submit this entire file as review report and submit the total score as Grade for the peer review. 1. Readability (Coding Standard) Well-structured, readable source code forms the basis for maintainable software. Also test software must be maintainable. Indicate to what extent the submitted source code for KeyCollectionDecomposed.java and KeyCollectionDecomposedTest.java written between //# BEGIN TODO and //# END TODO conforms to the Coding Standard for 2IP15. 2. Perfect, or at most one violation (a single rule, in one place), per file. 1. Multiple rule violations, or multiple violations for the same rule, but no multiple violations for indentation. 0. Multiple rules are violated, some of which multiple times; or multiple violations of indentation. Briefly point out enough violations to explain a score < 2. 2. Convincing decomposition in KeyCollectionDecomposed.java Indicate whether the decomposition in KeyCollectionDecomposed.java is convincing. 2. A top-level method and at least two auxiliary methods, each with limited control nesting. The outermost two for-loops may have been kept together; all the others loops must be in separate methods. The code is so clear that you are convinced of its correctness just by reading it. 1. A top-level method and at least two auxiliary methods, but either some methods still have more control nesting than required, or the code is not sufficiently clear to be convincing. 0. Less than three methods, or more control nesting than required AND unconvincing code. Briefly point out enough violations to explain a score < 2. 3. Proper contracts for auxiliary methods. Indicate whether all auxiliary methods in the decomposition are accompanied by a complete contract. 2. All methods are accompanied by a complete contract. 1. All methods except one are accompanied by a complete contract. 0. Two or more methods lack a complete contract. Briefly point out enough violations to explain a score < 2. 4. Proper coupling of auxiliary methods Indicate whether the auxiliary methods are properly coupled via parameters and return values rather than global variables. 2. Data is passed in and out of the auxiliary methods via parameters and return values only, and not via global variables. Also, no more data is passed in and out than is necessary to perform the intended functionality. For instance, if only one key is needed, then that key is passed, rather than the whole collection of keys and an index for that key. 1. Data is passed in and out of the auxiliary methods via parameters and return values only, and not via global variables. However, in some methods, more data is passed in or out than is necessary to perform the intended functionality. 0. Data passed in or out of the auxiliary methods involves one or more global variables (and possibly also parameters and return values). Briefly point out enough violations to explain a score < 2. 5. Sufficient test coverage Indicate whether the test casess provide enough coverage. 2. Each auxiliary methods is tested for the most important situations. 1. At most one auxiliary method was not not tested, or all were tested, but some important situations were missed. 0. More than one auxiliary method was not tested. Briefly point out enough violations to explain a score < 2. -----8<----- cut line -----8<----- 1. Readability (Coding Standard) Score: Motivation: 2. Convincing decomposition in KeyCollectionDecomposed.java Score: Motivation: 3. Proper contracts for auxiliary methods. Score: Motivation: 4. Proper coupling of auxiliary methods Score: Motivation: 5. Sufficient test coverage Score: Motivation: ----- ----- -- Total score: ----- ----- -- (End of Peer Review Form)