ChessTDD 29: Finishing up the ASCII Board Builder
I actually recorded this episode right on the heels of the last one, so that I could keep a good rhythm with the ASCII builder class. I finished that class up here.
Here’s what I accomplish in this clip:
- Finished the class, as I mentioned.
- Moved the class into the production code.
Here are some lessons to take away:
- Sometimes you’ll write a test that goes red while writing the first line. According to the strictest discipline, you should make that green and then keep going. But if it’s a question of writing a few more characters or another line or something to get your fully realized red test into place, I, personally, think that’s okay.
- If you’re going through your red-green-refactor cycle and, during the course of a refactoring, you introduce lines of code that none of the tests are hitting, be very careful.
- If you’re in the middle of a refactoring and you start to wonder if maybe you aren’t changing the way the inputs and outputs could work, back out the refactoring work and get to a known, green state.
- I’ve no doubt covered this before, but TDD is a great way to force yourself to think about how your API behaves with non-happy path inputs. You’re writing tests that tease out implementation, rather than coding to get something working in a GUI.