A code-kata is a coding exercise that builds muscle memory by a practice of programming to arrive at a known solution.
The essence of the exercise (presentation material and code kata) is to demonstrate the usage patterns for the java API or functionality.
This set of code katas rely on fixing broken tests. The tests may have multiple solutions, the intent is to learn and experiment.
The project contains several JUnit tests that fail.
-
Run the test class(es).
-
One or more tests will fail with the test failure message.
-
Fix the failing tests by using
HINTandTODOcomments. -
Repeat above steps until all tests pass.
-
Check the solutions to see if there are other ways to solve. (Remember, the solution may be less performant/optimal than yours)
-
Rinse and repeat (delete and checkout again, then back to Step 1) to build muscle memory.
How to prepare for coding along
This kata is developed as a Java maven project.Ensure that you have:
-
Apache Maven 3.6.x or above. Tested with Apache Maven 3.6.3. Link: https://maven.apache.org/download.cgi
-
JDK 11 or above. Tested with OpenJDK 11 Link: http://jdk.java.net/11/
-
Your favorite Java IDE. IntelliJ IDEA Ultimate was used to develop this kata.
The structure of the project:
|____pom.xml
|____README.md
|
|____src
| |
| |____test <------------------- Kata Tests
| | |____java
| | |____none
| | |____cvg
| | |____lambdas
| |
| |____main <------------------- Shared ErrorMessages & DemoClass
| | |____java
| | |____none
| | |____cvg
| | |____lambdas
| |
| |____solutions <------------------- Solutions
| | |____java
| | |____none
| | |____cvg
| | |____lambdasThe JUnit tests listed below are setup to teach/learn the Java Lambda features.
- TestKata1LambdaBasics.java
-
show the basic features of lambdas in Java.
- TestKata2LambdasDeeperDive.java
-
explore deeper into Java Lambda usages.
| Kata Test | Solution |
|---|---|
