Growing Object-Oriented Software Guided by Tests
Praise for the Book
The authors of this book have lead a revolution
in the craft of programming by controlling the environment in which
software grows. Their Petri dish is the mock object, and their microscope
is the unit test. This book can show you how these tools introduce a
repeatability to your work that would be the envy of any scientist.
— Ward Cunningham
At last a book, suffused with code, that exposes
the deep symbiosis between TDD and OOD. The authors, pioneers in
test-driven development, have packed it with principles, practices,
heuristics, and (best of all) anecdotes drawn from their decades of
professional experience. Every software craftsman will want to pore over
the chapters of worked examples and study the advanced testing and design
principles. This one’s a keeper.
— Robert C. Martin
Design is
often discussed in depth, but without empiricism. Testing is often
promoted, but within the narrow definition of quality that relates only to
the presence or absence of defects. Both of these perspectives are
valuable, but each on its own offers little more than the sound of one
hand clapping. Steve and Nat bring the two hands together in what
deserves—and can best be described as—applause. With clarity, reason, and
humour, their tour de force reveals a view of design, testing, code,
objects, practice, and process that is compelling, practical, and
overflowing with insight.
— Kevlin Henney, co-author of Pattern-Oriented
Software Architecture and 97 Things Every Programmer Should
Know
Steve and Nat have written a wonderful book that shares
their software craftsmanship with the rest of the world. This is a book
that should be studied rather than read and those who invest sufficient
time and energy into this effort will be rewarded with superior
development skills.
— David Vydra, publisher,
testdriven.com
This book presents a unique vision of test-driven
development. It describes the mature form of an alternative strain of TDD
that sprang up in London in the early 2000s, characterized by a totally
end-to-end approach and a deep emphasis on the messaging aspect of
objects. If you want to be an expert in the state of the art in TDD, you
need to understand the ideas in this book.
— Michael
Feathers
With this book you’ll learn the rhythms, nuances in
thinking, and effective programming practices for growing tested,
well-designed object-oriented applications from the masters.
— Rebecca
Wirfs-Brock