<pre>
Author/s : David Thomas, Andrew Hunt
Publisher : The Pragmatic Programmers, LLC
Category : Project management, Process and Best Practices
Review by : Dirk Schreckmann
Rating : 10 horseshoes</pre>
Authors, David Thomas and Andrew Hunt, smashed a home run with their book, "Pragmatic Version Control Using CVS" - the first volume in the three part "The Pragmatic Starter Kit" series. Using easy to read explanations, examples and stories, this book clearly explains what version control is, how it works, why folks are using it, how CVS works, and what commands developers are using during the life of their projects. "Pragmatic Version Control Using CVS" provides the semantics and idioms behind the syntax found in the CVS Manual. Before reading this book, I was a timid CVS user, willing to do little more than check code out. Now, after reading the book, I check code out and in, branch, merge and resolve conflicts with confidence. I'd recommend this book to any developer using a version control system that wouldn't already describe themselves as Zen masters in the craft, and to any developer not already using a version control system.
"Pragmatic
Unit Testing - In
Java with JUnit" - the second volume in the three part "The Pragmatic Starter Kit" series" - from authors, Andrew Hunt and David Thomas, is an excellent introduction to the practice of unit testing - proving that a piece of code does what the developer intended it to do. If you're a new developer, hopefully you've asked yourself and others questions about how to establish that your code really works, how to feel confident that it keeps working after scores of changes have been made, what types of common problems and bugs should you be looking for, where are these problems likely to be, and what makes a good test. While answering those questions, this book also introduces the practice of testing with Mock Objects, how to organize the test code in a project, how to better design code for testability, and how to make use of
JUnit for running all these tests. I'd recommend this book as a strong introduction to any developer new to or uncertain about the art of unit testing.
The third and final volume of "The Pragmatic Starter Kit" series, "Pragmatic Project Automation" by Mike Clark, is an excellent guide on automating repetitive tasks that increase the quality of a software project, and the productivity and confidence of the team creating it. (Who wouldn't feel good around a glowing green lava lamp?) If you don't currently employ a system that automatically checks out your project from a version control system, compiles it, tests it, and reports back to the team the status of the build, after reading the first three chapters of this book, you'll have all the information you need and no excuses left not to create such a system. The remaining three chapters of the book are dedicated to teaching creating push-button releases - facilitating the practice of releasing early and often, to automating installation and deployment, and to introducing a potpourri of tools and recipes for monitoring and reporting the health of a running system. I'd recommend this book to any software developer.
These three volumes that comprise "The Pragmatic Starter Kit" are well-written gems that now hold prominent positions on my bookshelf. The version control, unit testing, and automation practices these books describe are being done by many developers world-wide for a good reason: they are good things to do. By reading these books, you'll save yourself the cost of learning invaluable lessons the hard way through years of experience, and learn them from those that have already traveled the web of software development roads.
More info at the publisher's site