TDD: DISCOVER IMPLEMENTATION BY STEPPING SMALL
Enough with the theory! Let’s look into how classical TDD techniques are applied to discover algorithm implementations by moving forward with baby steps and triangulating into more generic implementation. This talk is fully based on live coding in Scala, but does not require any prior experience with the language. It covers the following techniques: baby steps, transformation priority premise, mutable vs. immutable code, functional programming habits that may get in the way. It will end with introduction to tail call optimization by leaving audience with an open question which code was more readable.