This Koans Project will include a fully function Coldbox Lite install to really test your ColdBox skills.
ColdFusion XSLT JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
coldbox/system
config
handlers
includes
layouts
model
mxunit
test
views
.gitignore
Application.cfc
Application_noinheritance.cfc
README.md
index.cfm
readme.htm
settings.xml

README.md

Coldfusion-Coldbox-Koans

Getting Started in the Coldbox Koans The Coldbox Koans are actually built right into a Coldbox Lite application, so you can test your knowledge as you learn, using a real app.

We have broken Coldbox down into sections, so you can tackle one section at a time... as you get more comfortable with the material. Each section will have 3 sets of tests.

Basics - Pop Quiz

This is a pop quiz styled question and answer approach. You will be tested on names of functions, default settings, and ensure you know the basics before diving into the 2nd section, where your skills are put to the test.

Advanced - Practical Exercises

This is where you have to navigate the Coldbox app, to find handlers, and views, to modify them to make the tests pass.

Expert - Practical Exercises

This is where you have to navigate the Coldbox app, create new handlers, actions, and views, to make the tests pass.

Koans that are Coming Soon

This project is still new, but we have ideas for more koans, including, but not limited to the following:

  • Dependency Injection Koan
  • Caching Koan
  • Logging Koan

We are also planning on making the Expert Examples actually help you build an application, so when you are done, you have a small working app, with Model View Controllers (handlers) DAO Logging and Caching.

If you would like to contribute to the project, please talk to Gavin on Twitter @gpickin so we can coordinate work, and make this a successful project.

What is a Koan - Where did it start?

The Koans walk you along the path to enlightenment in order to learn XXXX. The goal is to learn the XXXX language, syntax, structure, and some common functions and libraries. We also teach you culture. Testing is not just something we pay lip service to, but something we live. It is essential in your quest to learn and do great things in the language. (Taken from Neo-Ruby_Koans readme) - Replace XXXX with the language or tool the Koans are built for.

The first Koans is thought to be the Ruby Koans. If you search GitHub (click here to jump to the search) you will see Ruby Koans (link to GitHub Repo) is listed first, with almost 2000 Stars. You will see them for most languages, Javascript, Python, Clojure, ASPNET, and a lot more.

Coldfusion Koans (created by Ryan Anklam @bittersweetryan) was the inspiration for the ColdBox koans, and is listed on the 2nd page, which is great because usually ColdFusion does not appear high on searches across all languages.

The Idea - Red, Green, Refactor

In test-driven development the mantra has always been red, green, refactor. Write a failing test and run it (red), make the test pass (green), then look at the code and consider if you can make it any better (refactor).

While walking the path to enlightenment you will need to run the koan and see it fail (red), make the test pass (green), then take a moment and reflect upon the test to see what it is teaching you and improve the code to better communicate its intent (refactor).

What Inspired the Ruby Koans

According to the Neo-Ruby_koans Readme

A special thanks to Mike Clark and Ara Howard for inspiring this project. Mike Clark wrote an excellent blog post about learning Ruby through unit testing. This sparked an idea that has taken a bit to solidify, that of bringing new rubyists into the community through testing. Ara Howard then gave us the idea for the Koans in his ruby quiz entry on Meta Koans (a must for any rubyist wanting to improve their skills). Also, “The Little Lisper” taught us all the value of the short questions/simple answers style of learning.