Mini Scala CodeRetreat
(Summary: #TDD, #pairProgramming, #activities, #constraints)
We'll program in pairs. Each pair sits down for a session and tries to solve the problem doing a typical CodeRetreat activity. These are based on TDD, and usually come with some interesting (and fun!) constraints...
• TDD as if you meant it (only refactor when necessary)
• Cooperative Ping-Pong (typical TDD cycle, alternating roles)
• Muted Ping-Pong (silence! you may only communicate with your partner through code)
• Evil Ping-Pong (make the test pass, but evilly introduce garbage code with it)
• Code Swap (work on the code from another pair, from a previous session)
• Extreme Baby-Stepping (commit within 2 minutes of TDD or die... ehmm... revert)
• No if / for / built-in-types / mutable data-types
• Functions / Methods no longer than 4 lines
These activities can be combined, but usually we do only one per session. After the session is over, developers form new pairs.
The problem is yet to be defined, but following the CodeRetreat custom will probably be Conway's Game of Life. I'm open to suggestions (though it has to be simple enough, yet not trivial).
• Your laptop
• A working Scala development environment (Eclipse, IntelliJ, etc.)
• The ability to create a Scala project instantly, with unit-test support (see our Dojo Quickstart project)
• Installed git client + familiarity with the basics of git
• Willingness to have fun ;-)
Hopefully we'll have as much fun as it was in the last CodeRetreat! :-)