Katas I find interesting.
- PragDave’s original Kata series.
- TDD Problems
- The Coding Dojo
- A list of exercises to be resolved in stages by Ralph Westphal
- Programming Praxis, a blog of programming problems.
- Esko Luontola‘s Tetris Tutorial
- James Shore’s Architectural Design Challenge
- A Quick Ruby Kata from Noel Rappin. Look in the comments, there is an interesting technique based on recursion.
- The Gilded Rose Kata by Terry Hughes.
- DDD Exercises by David Gadd
- Luca Minudel’s TDD Micro Exercises
- Legacy Code Retreat
- I recommend highly all presentations by Misko Hevery. Also his Guide to Writing Testable Code. (Also his Top 10 Things I Do On Every Project)
- Kent Beck’s TDD Screencasts
- Steve Freeman’s Fractal TDD: Using tests to drive system design
- James Shore’s Let’s Play series
Papers On the Open-Closed Principle
- The Payroll Case Study by Robert Martin
- Refactor to the Open-Closed by Alan Shalloway and others
- Protected Variation: The Importance of Being Closed by Craig Larman
Papers on Composable Objects
Papers on patterns
- Arguments and results (if you don’t know SmallTalk you migth want to read I Can Read C++ and Java But I Can’t Read Smalltalk before)