Enigma - Evaluation
-
Functionality:
Meets expectations:
- Enigma Class with encrypt and decrypt methods successfully implemented.
- Encrypt/decrypt command line interfaces successfully implemented.
-
Object Oriented Programming:
Meets expectations:
- Project is broken into logical components consisting of at least 4 classes that have single responsibilities.
- Only one method is more than 7 lines (technically 8?).
Exceeds expectations:
- No class is longer than 80 lines.
- Variable and method names always clearly communicate purpose.
-
Test Driven Development:
Meets expectations:
- Every method is tested at both the unit and integration level.
- git history demonstrates students are writing tests before implementation code.
Exceeds expectations:
- All test names clearly communicate the purpose of the test.
- At least one test implements stubs (no mocks).
- Test coverage metrics show 100% coverage.
-
Version Control:
Meets expectations:
- No more than 3 commits include multiple pieces of functionality.
Exceeds expecations:
- At least 40 commits.
- At least 15 pull requests that are named and documented to clearly communicate the purpose of the pull request (PRs all have comments that explain what they do).