ATDD By Example
by Markus Gartner
Dr. Dobb's policy is not to review poor books. It is far more useful to provide information on what is worth reading than what is not. However, we are occasionally forced to review undesirable books as is the case here because of an outside factor. That factor here is that the book appears in the Kent Beck Signature series from Addison-Wesley and it has a foreword containing Beck's own recommendation. The Beck name has generally signaled books you could buy with complete assurance. However, this volume is not close to anything you could want or use. The errors are so pervasive that rather than dwell on them individually, I'll group them quickly.
Code: The code is nominally written in Java. However (see illustration above) it is so badly formatted that it is a constant struggle to read it. Moreover, there are multiple occasions where at a glance you can tell the code as printed will not compile.
Layout: The book is an introduction to acceptance test-driven development (ATDD). The author chooses to write it in three parts, with the curious sequence of: example 1, example 2, followed by principles of ATDD. He must have sensed this was a backwards way of doing things, as he suggests multiple ways of reading the book. As to reading it in the actual order, he observes, "You may also read the first two examples, and then head back to work to start a basic implementation. Once you reach a dead end, you may come back to read further material in Part III — although I wouldn't necessarily recommend reading this book in this order." [emphasis mine]
Language: The author is not a native speaker. The editors failed him badly by not correcting his pervasive misuse of the terms — especially this and that — which forces the reader to reread sentences to figure out which of two possible things the author is referring to. Likewise, the book is littered with sentences whose contorted syntax was left uncorrected.
I can only surmise that Kent Beck's imprimatur was given early in the process with the expectation that all these errors, which appear on every page, would be removed. They weren't. Not recommended.