https://github.com/matyb/java-koans
A framework and lessons to learn java syntax and idioms in a logical sequence.
https://github.com/matyb/java-koans
Last synced: 5 months ago
JSON representation
A framework and lessons to learn java syntax and idioms in a logical sequence.
- Host: GitHub
- URL: https://github.com/matyb/java-koans
- Owner: matyb
- License: apache-2.0
- Created: 2011-01-13T19:11:11.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2023-05-18T01:54:07.000Z (almost 2 years ago)
- Last Synced: 2024-08-03T17:21:48.295Z (9 months ago)
- Language: Java
- Homepage:
- Size: 6.94 MB
- Stars: 726
- Watchers: 52
- Forks: 493
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-by-example - Java Koans: A framework and lessons to learn Java syntax and idioms in a logical sequence
README
# Java Koans
[](https://travis-ci.org/matyb/java-koans)
Running Instructions:
=====================
* Download and unarchive the contents of the most recent java-koans in development from:
https://github.com/matyb/java-koans/archive/master.zip
* Open a terminal and cd to the directory you unarchived:
```cd ```
* Within it you'll find:
* *koans*: this directory contains the application and its lessons, it is all that is needed to advance through the koans themselves and **it can be distributed independently**
* *lib*: this directory contains the code the koans engine is comprised of and built with
* *gradle*: wrapper for build library used to build koans source, setup project files in eclipse/idea, run tests, etc. you probably don't need to touch anything in here
* Change directory to the koans directory: ```cd koans```
* If you are using windows enter: ```run.bat``` or ```./run.sh``` if you are using Mac or LinuxDeveloping a Koan:
==================
* Follow any of the existing koans as an example to create a new class with koan methods (indicated by the @Koan annotation, they're public and specify no arguments)
* Define the order the koan suite (if it's new) will run in the koans/app/config/PathToEnlightenment.xml file
* [Override the lesson text](https://github.com/matyb/java-koans/blob/master/koans/app/config/i18n/messages_en.properties#L1) when it fails (default is expected 'X' found 'Y')
* Optionally you may use dynamic content in your lesson, examples are located in the XmlVariableInjector class (and Test) and the AboutKoans.java fileSomething's wrong:
==================
* If the koans app is constantly timing out compiling a koan, your computer may be too slow to compile the koan classes with the default timeout value. Update the compile_timeout_in_ms property in koans/app/config/config.properties with a larger value and try again.