- Download and install IDE or setup workspace through command line
- Utilize the git clone command to clone this repository
- Install proper Java version: Suggested version is 8
- Run unit test for project either through IDE or command line (Uncomment test cases to begin TDD)
- Only utilize data structures that are immutable
- Mutable variables (local and otherwise) shouldn't be used
- Reassignment of variables are not allowed
- Try to use Guava or Java 8 functional utilities
- Immutability - Utilizing data structures that are immutable means unexpected results due to incomplete or impartial state will be eliminated
- Reduction of Side Effects - Since functional code can only utilize inputs and return outputs then by this very nature side effects due to the real world will be nonexistant. In other words, given the same inputs into a functional piece of code, the output will always be the same.