This Simple RPG project is a Code Kata exercise one can use to experiment different coding techniques. It is provided with a few slides about eXtreme Programming to promote TDD practices.
This Code Kata exercise is just a small specification for a program one could write to experiment different coding techniques. It's a rather simple and fun program to write, but the specification has some intended pitfalls so developers have to take a couple decisions along the exercise to complete their implementation.
This whole project has been designed and used for a presentation of some eXtreme Programming techniques, with a particular focus on Test Driven Development. It is provided with a slide deck which has been used to present either eXtreme Programming and the results of the coding exercise.
On top of that, you'll find in that repository a Kotlin project containing various implementations of the problem: a completely naive solution, with no tests written, which is just basically trying to make the program work as fast as possible; a top down TDD implementation, with comments and step by step approach (with no refactoring to try to keep the evolution of the code); and finally, a refactored version of the top down TDD approach.
If you'd like to practice your development techniques, feel free to have a look at the specifications written for the code kata, choose your favourite programming language, and go for it! There's nothing more than just experimenting and getting better at programming!
If you'd like to reuse the presentation about eXtreme Programming, a published and packaged version is available in the docs/
folder: simply open the index.html
file with your favourite browser, and you should be good to go.
If you'd like to play a bit with Kotlin, either writting your own program or modifying the one we wrote, you can simply import the project in your IDE (it is a Maven project, so all dependencies should be retrieved for your if you have Maven installed).
If you'd like to follow the development process I followed while solving the exercise, feel free to read the comments in that test file.
If you want to play with our Kotlin implementation, we recommend you to have:
- OpenJDK
- Maven
- IntelliJ IDEA - the Community edition is fine
And you shouldn't need more than this.
Otherwise, you can go ahead and write some code with your favourite language and tools.
Unit Tests are provided for the top down TDD implementation we wrote in Kotlin. You can execute them using maven with the following command: mvn test
, or directly from your IDE.
If you'd like to modify the slides and generate a new version out of them, you'll find the source code from the slides in slides.md
(which is just markdown) and you can generate slides out of that file easily by using reveal-md.
Simply run reveal-md slides.md --static docs --static-dirs img
or execute the publish.sh
shell script provided in that repository.
Our implementation is written with:
Our slides are written with:
See also the list of contributors who participated in this project.
Thanks a lot to all those projects we used at some point: