Аннотация
Foreword by Kent Beck
"The authors of this book have led a revolution in the craft of programming by controlling the environment in which software grows.” --Ward Cunningham
“At last, a book suffused with code that exposes the deep symbiosis between TDD and OOD. This one's a keeper.” --Robert C. Martin
“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
Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this "simple" idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and “grow” software that is coherent, reliable, and maintainable.
Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you’ll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD--from integrating TDD into your processes to testing your most difficult features. Coverage includes
• Implementing TDD effectively: getting started, and maintaining your momentum throughout the project
• Creating cleaner, more expressive, more sustainable code
• Using tests to stay relentlessly focused on sustaining quality
• Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project
• Using Mock Objects to guide object-oriented designs
• Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency

![If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?
In Automate the Boring Stuff with Python, you’ll learn how to use Python to write programs that do in... Automate the Boring Stuff with Python [Practical Programming for Total Beginners]](https://www.rulit.me/data/programs/images/automate-the-boring-stuff-with-python-practical-programming_570900.jpg)
![The bible of all fundamental algorithms and the work that taught many of today The Art of Computer Programming: Volume 1: Fundamental Algorithms [3rd Edition]](https://www.rulit.me/data/programs/images/the-art-of-computer-programming-volume-1-fundamental-algorit_568635.jpg)

![Эта книга позволит вам погрузиться в программирование и с легкостью освоить JavaScript. Вы напишете несколько настоящих игр — поиск сокровищ на карте, «Виселицу» и... JavaScript для детей [Самоучитель по программированию]](https://www.rulit.me/data/programs/images/javascript-dlya-detej-samouchitel-po-programmirovaniyu_568767.jpg)
![The C programming language has been around for a long time — the canonical reference for it is the book written by its creators, Kernighan and Ritchie [1978]. Since then, C has been used in an incredible number of applications. Programs and systems written in C are all around us: in personal... Modern C](https://www.rulit.me/data/programs/images/modern-c_609369.jpg)
![Эта книга для тех, кто давно связан с разработкой программного обеспечения. Или для тех, кто еще думает выбрать программирование своей профессией. Или для тех, кто... Дефрагментация мозга [Софтостроение изнутри]](https://www.rulit.me/data/programs/images/defragmentaciya-mozga-softostroenie-iznutri_567023.jpg)
![Learn Python Fast and Learn It Well. Master Python Programming with a unique Hands-On Project
Have you always wanted to learn computer programming but are afraid it Learn Python in One Day and Learn It Well [Python for Beginners with Hands-on Project]](https://www.rulit.me/data/programs/images/learn-python-in-one-day-and-learn-it-well-python-for-beginne_556376.jpg)
Комментарии к книге "Growing Object-Oriented Software, Guided by Tests"