Back in November I mentioned that Cogent Consulting were running easy access training (EAT) courses. The first was yesterday and was an exceptional workshop on Test Driven Development (TDD). There will hopefully be further courses so I suggest you keep your eyes on the Cogent EAT web site. There are some more pictures on Steve's blog.
So what did I learn about TDD and programming in general?
Most importantly I was invigorated to be exposed to new ideas and techniques and I'm looking forward to trying TDD for some of my current Perl work. Many thanks to Steve and the other attendees who helped make the day so worthwhile for me.
- TDD requires rigorous application of the write-a-test-see-it-fail-write-the-feature-see-it-pass-re-factor-and-see-it-pass coding cycle
- Keep a notepad handy to note down any re-factoring you see that will distract in the middle of the cycle
- I got some exposure to pair programming (I was paired with some more experienced folks which was a huge help because of my lack of Java/Eclipse/Agile programming skills) and found it a revelation -- made me wish I did not work on my own the whole time -- many thanks to the patient students who worked with me
- I understood what dependency injection is and more importantly why we want to do it
- I was reminded of the importance of naming things
- The difference between State testing and Interaction testing (using mock objects)