Scala Coding Dojo

  • January 14, 2014 · 6:00 PM

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...

Possible activities:

• 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! :-)

Join or login to comment.

  • Alberto P.

    cool beans!

    1 · January 15, 2014

  • Eduard L.

    Learned a lot again. Excuses to my teachers to have kept them from doing regular stuff. And thank you!

    1 · January 14, 2014

  • Christian P.

    I liked the format of this dojo.

    next up: write a compiler that generates idiomatic scala from java ;)

    2 · January 14, 2014

    • Sebastian N.

      Step two: process the compiler code through the compiler itself ;-)

      January 15, 2014

  • Radim P.

    Well prepared

    2 · January 14, 2014

  • Sebastian N.

    Today we handled the "Minesweeper" kata.

    And the first session was: "forget Scala, pretend it's Java". Use mutability, null, for-loops, etc.

    The second session was of course: "code-swap, refactor into idiomatic Scala!".

    There was something new for everyone, I hope.

    Thanks for coming!

    January 14, 2014

  • Manuel B.

    Sorry guys, won't be able to make it, too many things to do these weeks. Have fun!

    1 · January 12, 2014

  • Sebastian N.

    Alternatively, we might simplify the problem a bit to get one more session. Instead of Game-of-Live we could handle FizzBuzz, word-guessing (hangman) or number-guessing (my number is lower/higher).

    January 8, 2014

8 went

Our Sponsors

People in this
Meetup are also in:

Sometimes the best Meetup Group is the one you start

Get started Learn more

We just grab a coffee and speak French. Some people have been coming every week for months... it creates a kind of warmth to the group.

Rafaël, started French Conversation Group

Start your Meetup today

Act now and get 50% off.
Until February 1.

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy