Growing Object-Oriented Software, Guided by Tests (Beck Signature)
Growing Object-Oriented Software, Guided by Tests (Beck Signature) by Nat Pryce and Steve Freeman
- Binding:
- Paperback
- Number of Pages:
- 384
- ISBN:
- 0321503627
- Product Group:
- book
- Publisher:
- Addison Wesley
- Publication Date:
- Oct. 22, 2009
- BooksForGeeks.com ID:
- 3793
Reviews for Growing Object-Oriented Software, Guided by Tests (Beck Signature)
-
An imperfect but must read book
Rated out of 5 stars, March 12th, 2010
This book has changed the way I code. As someone that has been coding for 20 years and using TDD for 3 or 4 years that is as clear a recommendation as I can think of. I thought I understood TDD and the reasons for it but this book exposes the true beauty of the approach. There is some excellent advice in here that any developer using TDD should know. If you are using TDD (and why not by now) then read this book.
My only complaint with the book was in Part III which is a worked example. This is a large part of the book that uses a development example to demonstrate their approach to software development. As such the code goes through a lot of refactorings and this is where the problem lies. Too often they discuss a refactoring that is required without showing the code that they are considering refactoring. As the code has already gone through so many changes it is very difficult to keep track of what it currently looks like. -
Demonstrates Evolutionary Design
Rated out of 5 stars, January 12th, 2010
This book is excellent, showing you not only how to do great TDD, but also how to do great design.
I would recommend it to all programmers out there who can read Java.
(The one caveat is that the book is all in Java, and so if you find reading Java hard you won't get as much out of the book.)
Steve and Nat walk you though a non-trivial example over many chapters which allows you to see how they think and how they write code.
Of course they use evolutionary design. So if you haven't got much experience with evolutionary design this book will show you how it works in practice.
TDD has improved and evolved over the years, making many of the earlier books on TDD seem outdated.
This books is full of personality and show how Steve and Nat approach TDD today.
I liked the state transition diagrams they used to visualise the system, and show which bits have been tested, and which bit is currently being worked on. -
Excellent book on TDD and object oriented design
Rated out of 5 stars, December 12th, 2009
This is the best book on TDD that I've read. It's more than just about testing though - it's about object oriented design. It's very well written - clear without being verbose. It's suitable for all levels of experience of TDD. Unlike other books on TDD I've read, there is plenty in this book even for people who have done plenty of TDD before. -
An Excellent Coverage of TDD Principles
Rated out of 5 stars, December 12th, 2009
Some of the other reviewers are referring to this book as 'advanced'. I think it's advanced if you're relatively new to TDD. It would certainly help if you're a competent developer (which is probably why you're looking at TDD anyway), but it's 'advanced' if you want to change the way that you develop software.
It's a good read and I found quite a few "aha" paragraphs (my copy's now punctuated with permanently folded corners/post it notes).
It's nicely written without sounding arrogant. I think it's quite a hard topic to cover without getting bogged down in the minutiae of whys and wherefores of decisions, which it covers at exactly the right level
My only criticism is that I found it wee bit annoying the way it referred to the latter worked example when introducing an aspect of TDD, forcing me to skip back and forth a bit - but I think that's just a personal book reading preference.
I'm not sure how much an experienced TDD practioner would gain from it (except to see some of your own thoughts mirrored in black and white), but would very much recommend it to those new or getting started with TDD, wishing to `do it right'
Although the code samples are in Java it is applicable to other languages, such as C#, as the concepts are language independent -
Excellent advanced TDD book
Rated out of 5 stars, November 12st, 2009
As other reviewers have mentioned, this is an advanced book. It covers TDD methodology and programming concepts in great depth. The book explains in detail what should a good test achieve and shows you many techniques that could help improving your tests. Moreover, it emphasises the importance of code quality not only in production code, but also in tests.
This book doesn't read like a boring text book. Reading the book feels like going through Steve and Nat's secret notebook, containing their valuable experiences and lessons learnt.
Although the code examples in this book is Java, I find most concepts are very applicable to other languages if you do TDD. Beginners may find this book too high level, but I think it's a must read for TDD practitioners who want to further improve their art.

