- Capa comum: 358 páginas
- Editora: Addison-Wesley Professional; Edição: 1 (1 de outubro de 2009)
- Idioma: Inglês
- ISBN-10: 0321503627
- ISBN-13: 978-0321503626
- Dimensões do produto: 17,8 x 2 x 23,4 cm
- Peso de envio: 621 g
- Avaliação média: 1 avaliação de cliente
- Lista de mais vendidos da Amazon: no. 65,297 em Livros (Conheça o Top 100 na categoria Livros)
Growing Object-Oriented Software, Guided by Tests (Inglês) Capa Comum – 30 set 2009
|Novo a partir de||Usado a partir de|
Livros em Oferta
Todos os dias, novos livros com desconto. Confira todos aqui.
Clientes que compraram este item também compraram
Faça download dos Aplicativos de Leitura Kindle Gratuitos e comece a ler eBooks Kindle nos mais populares smartphones, tablets e computadores pessoais. Para enviar o link de download para seu smartphone por SMS, use o formato internacional sem espaços (Código Internacional+DDD+Número. Exemplo: +551199999999)
Para receber o link de download digite seu celular:
Veja todos os livros com desconto aqui
Detalhes do produto
Descrições do Produto
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
Sobre o Autor
Steve Freeman is an independent consultant specializing in Agile software development. A founder member of the London Extreme Tuesday Club, he was chair of the first XPDay and is a frequent organizer and presenter at international conferences. Steve has worked in a variety of organizations, from writing shrink-wrap software for IBM, to prototyping for major research laboratories. Steve has a Ph.D. from Cambridge University, and degrees in statistics and music. Steve is based in London, UK.
Nat Pryce has worked as a programmer, architect, trainer, and consultant in a variety of industries, including sports reportage, marketing communications, retail, telecoms, and finance. With a Ph.D. from Imperial College London, he has also worked on research projects and does occasional university teaching. An early adopter of Extreme Programming, he has written or contributed to several open source libraries that support Test Driven Development. He was one of the founding organizers of the London XPDay and regularly presents at international conferences. Nat is based in London, UK.
Freeman and Pryce were joint winners of the 2006 Agile Alliance Gordon Pask award.
Avaliação de clientes
Principais avaliações de clientes
Ocorreu um problema para filtrar as avaliações agora. Tente novamente mais tarde.
Avaliações mais úteis de consumidores na Amazon.com
- to apply TDD for designing not only small pieces of functionality but entire features, too,
- to connect all those little pieces developed in TDD micro-cycles together,
- to take ultimate advantage of Mock Objects usage and to know their unique place among other Test Doubles,
- to test-drive "difficult" code such as multi-threaded or DB-related one,
... then this book is for you.
Finally, there is something that doesn't just say that TDD is as easy as "Red-Green-Refactor" but describes the Big Picture instead.
I do recommend this book for those who have already read some stuff on the topic but still have some questions unanswered.
A programming book with code samples that are almost impossible to read is a huge drawback. 70% of the value is lost in the kindle version.. I am sure that sooner or later this will be fixed but until then... stick to the printed version.
What I discovered was that I was thinking about tests the wrong way. In my current shop, I often got frustrated at what was, I was thrilled to discover, a completely pointless test that felt like coding pablum to make the CI server happy with "test coverage". Genuine testing is much, much more. A dev that genuinely embraces TDD, and doesn't use it as a mere add on on his/her resume, won't be doing "Test Driven Development" but really "Test Driven Design". Some of the important higher level concepts this includes are:
1.) Listening to tests to create a more supple architecture.
2.) How to avoid "gold plating" features ( a big one for me )
3.) Using tests to describe the action of the object.
4.) Using syntactic sugar to make your exposed API far more readable to a future reader
5.) Spectacularly compact APIs
6.) If you've done XP, "ping pong" development is a real pleasure ( one writes the test, the other is forced to implement the feature to make the test pass, then they switch roles ).
7.) Focusing on the "message" an object passes to its peers or its delegators, which puts OOP in an entirely new light to me.
The standard "implementation tools" are also covered in depth to give you the ability to do the things listed above. Can't recommend it strongly enough.