Rate this book

Growing Object-Oriented Software, Guided By Tests (2009)

by Steve Freeman(Favorite Author)
4.18 of 5 Votes: 2
ISBN
0321503627 (ISBN13: 9780321503626)
languge
English
genre
publisher
Addison-Wesley Professional
review 1: Do not read this if you don't wanna know that you are writing your tests all wrong! Introduction is rather slow and uninteresting for someone already testing on day to day basis. Throughout half of the book there is a step by step introduction into the TDD - I did not care that much for this part. Especially in the end it was somehow hard to follow when the code base for the example grows - especially for a non-java programmer.But the last 100 pages with the examples of how to write more maintainable and readable were the best. I feel like I am writing better test code already ;-)
review 2: Pretty cool book. I wish I had it 6 years ago. Learned quite a few of the lessons they talk about the hard way in those years. I really, really like the emphasis on growing
... moreand nurturing a software design. I've seen too many codebases that slowly but gradually went off the rail because of too much pragmatism or simply the lack of a big picture on what the software was supposed to do and how it actually did it. Software teams often don't fail delivering the first version of a software. They fail on the subsequent versions. The ones where requirements are added or changed and coupling problems in the software become visible. It's not problematic to get a design wrong, we all do (and we all will probably continue to do so in the future). Not learning from your new insights though will kill your software in the long run. This book gives you an excellent idea how you can cope with that. Just because of that I would probably alone give this book 5 stars. If I had to name one new idea I'm going to take from this book with me, then I'd probably go with the importance of the communication patterns between objects. It's such a neat way to explain the 'tell don't ask' principle.I'm still not 100% convinced whether a classic unit testing framework is the best medium for acceptance testing, though. Especially the camel case names for tests is something I've come to dislike. I would rather prefer something like RSpec (Ruby) or NaturalSpec (FSharp) that let's me express my intent in plain sentences.Well and that Java JMock syntax. Boy am I glad that I'm working with C# and Ruby :-) less
Reviews (see all)
McStudMini
It is TDD by Example in advance level.
Jenn
Despised the Java code samples :)
mariammar
A Must Read!
noah
must read
Write review
Review will shown on site after approval.
(Review will shown on site after approval)