[Previous entry: "CFP: Agile 2005"] [Next entry: "XP Day Toronto 2005: A success"]
01/26/2005: "Javalobby review of JUnit Recipes"
I was just alerted to a new review of JUnit Recipes at javalobby.org. The review is quite positive, and that always makes me smile. I was dedicated to the idea of not writing Yet Another TDD Book, something that the reviewer complimented:
I was initially caught off guard with this book, as I had expected a text heavily saturated in Test Driven Design philosophies. [...] Recipes stands out from other JUnit books in that is not written from a Test Driven Design (TDD) perspective. While the authors are advocates of TDD they defer many of its philosophies to other books, leaving Recipes clean of best practice Bible bashing and focusing on how to best use JUnit. I am amazed at how well this is pulled off, as I had a discussion with the main author debating certain paragraphs that conflict with TDD practices without even realizing he was on my side.I remember these discussions, and wondered at the time whether I'd need to apologize for portraying JUnit as something other than a TDD tool. I'm happy to say that more people have appreciated that than had something negative to say about it.
Still, you can't please everyone all the time...
The only negative aspect about this book, in my opinion, is that it does not cover TDD. Being a TDD practitioner myself, that let me down early on as I was expecting hard and fast rules based on testing first and solutions mandating no implementation logic at all. I wanted hardcore JUnit for TDD and this book was teaching me how to use JUnit.Well, there are hardcore JUnit for TDD books out there, so I wasn't really interested in writing another one. Who I am to do a better job at that than Johannes Link or Dave Astels? All the community would get is another polemic on TDD. I wanted JUnit Recipes to complement the current JUnit literature, and not compete with it.
Incidentally, JUnit Recipes indeed covers TDD. It introduces the topic, refers the reader to other works on the topic (both online and in book form), then weaves TDD discussions into at least half the recipes. What I'm most proud of is the way the book does not try to sell TDD. Brian Marick highlighted this in his keynote at XP/Agile Universe 2004 as a sign that TDD is moving into the mainstream as a programming practice. I suppose I should feel good about the reviewer's comment: the way I included TDD into the book was so subversively unobtrusive that he didn't even notice it. Good!
