« Notes on Tomb Raider Legend | Main | Awesome »

June 15, 2006


Paul Sinnett

Your last comment here reminds me why I drifted away from this practice. I was getting sloppy too. I raised this question a while ago on the XP newsgroup. I got a reply from Kent suggesting that when you start thinking and working at a higher level of abstraction, the details of working at the lower level start to get fuzzy. This was encouraging (in a way) since the practice was obviously having an effect.

But I decided that in my line of work (at least for the present) I still need that low level experience. I almost always work in C / C++ and the odd bit of assembler or VU whereas TDD evolved in high level, dynamically typed, languages like Smalltalk. I could still work test first in lower level languages. But when I do, the tests constrain the code in ways are not a problem in higher level languages.

Working "trial and error" I have less confidence in my code up front, but my confidence grows with every test and review. With test first, my confidence is initially very high (after all, it passes all these tests) but that confidence degrades as the bugs start to show up and changes force the code to burst out of its test scaffolding. I feel more confident starting low and climbing than starting high and falling.


More Pros:

- I'm sure your code is more robust, decoupled and self commented with TDD.
- Now, you have a suite of "samples ready to use" with your tests

More Cons:
- Tons of new code to write and maintain.
- Who will test your tests?


Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.


Post a comment

Your Information

(Name is required. Email address will not be displayed with the comment.)

Jamie's Bragging Rights

  • Spider-Man 2
    The best superhero games of all time Game Informer
    Top five games of all time Yahtzee Croshaw
    Top five superhero games of all time MSNBC
    Top 100 PS2 games of all time Official Playstation 2 Magazine
    1001 Games You Must Play Before You Die Nomination for Excellence in Gameplay Engineering Academy of Interactive Arts & Sciences
  • Schizoid
    Penny Arcade PAX 10 Award
    Nominated for XBLA Best Original Game
    Nominated for XBLA Best Co-Op Game