- Enigma Class with encrypt and decrypt methods implemented successfully
- Encrypt and decrypt command line interfaces implemented successfully
- Cracking method and command line interface implemented successfully
- Implemented at least one module in a logical manner
- Can speak as to how/why modules made sense for the given implementation
- Can speak as to why it improves the organization of the code
- Can distinguish between inheritance vs. modules
- Project is broken into logical components that are appropriately encapsulated
- No classes are unreasonably small or large
- Classes, methods, and variables and clearly communicate their purpose
- Code is all properly indented and syntax is consistent
- Most enumerables/data structures chosen are the most efficient tool for a given job
- At least one hash is implemented in a way that makes logical sense
- Test coverage metrics show 100% coverage
- Every method is tested at both the unit and integration level
- Git history demonstrates tests are written before implementation code
- 140 commits with descriptive commit messages
- Each feature/function was implemented on its own branch
- Pull requests were made after a feature/function was tested