Hardcover: 768 pages
Publisher: Prentice Hall; 1 edition (July 30, 2006)
Language: English
ISBN-10: 0131857258
ISBN-13: 978-0131857254
Product Dimensions: 7.2 x 1.7 x 9.4 inches
Shipping Weight: 2.8 pounds (View shipping rates and policies)
Average Customer Review: 4.4 out of 5 stars See all reviews (43 customer reviews)
Best Sellers Rank: #136,447 in Books (See Top 100 in Books) #1 in Books > Computers & Technology > Programming > Languages & Tools > C & C++ > Visual C++ #25 in Books > Computers & Technology > Programming > Languages & Tools > Visual Basic #52 in Books > Computers & Technology > Programming > Languages & Tools > C#
This book is amazingly great from start to finish. All the basics of good agile development are covered clearly and sensibly in the first section: what agile is, how to go about it, why testing and planning are so critical, and where refactoring fits in all of this. Design and general patters are hit in the second section, again in a clear, concise, and sensible fashion -- and with common sense thrown in.The final two sections cover a real-world case study implementation of a payroll system. Here the rubber meets the asphalt: walking through use cases, building transactions based on smartly-chosen patterns, discussion of what patterns make sense where and why, implementation, packaging, and evolution.I found myself shaking my head in wonder as I read this book and stumbled across one nugget of gold after another. Some bits of goodness pop out in the middle of nowhere simply because the authors are so well-versed in their domain that they're letting fly wisdom even when discussing other topics. An example of this is in the XP pairing session episode where some discussion of increment operator side effects is tossed in the middle of another discussion stream. You read that section once and pass over it, only to do a head check, bounce back and re-read it while nodding your head and saying "Yeah, that's absolutely right and I might not have caught that otherwise."Another bit of greatness is the chapter on UML. The authors are emphatic about keeping UML tightly in check and using it only in specific cases where it makes clear sense. Mountains of UML diagrams are not the answer; the authors show where a few concise diagrams make perfect sense.
There are two things I would've changed about this book: 1) remove "in c#" from the title and 2) make it clear that all code examples are pseudo-code in a made up language that kind of looks like C++/Java/C#.I've read just about every review of this book and all the people who rated this book low (3 and lower) completely missed the entire essence of why this book was written. Their complaints were "not enough C#" and "how dare you not use generics, C# programmers should know better!" This book is not about teaching you how to program in C#; there's a ton of print out there to do that. This book is about teaching you how to approach coding, and what they teach can be applied to just about any language out there (well, OO is probably more suitable).I've been coding professionally for 13 years and 8 more as a hubby before that. I've written some really, really horrendous code, and I got to where I am today by always reflecting back on all of my work. Over time I learned what to do and what should be avoided and when I first discovered Gang of Four's design patterns book, every single pattern I've already used somewhere in my own code.Currently being a technical team lead on the project, I'm now brushing up on a lot of material regarding design, agile practices, architecture and so on. My goal is not to teach the team solely from my self-taught know-how. Instead, I'm reading all these books because I want to combine my experience with more authoritative voices on the subject and the views of other, more-experienced engineers.Most of this book was nothing new to me. I've been already practicing a lot of the techniques and habits that the author recommends.
Crochet: Easy Crochet Patterns: Crochet Patterns for Beginners (Crochet: Step by Step Crochet, Crochet Patterns, Easy Crochet Patterns, Crochet Patterns for Beginners, and Crochet Projects) Agile Software Development, Principles, Patterns, and Practices Agile Principles, Patterns, and Practices in C# Agile in a Flash: Speed-Learning Agile Software Development (Pragmatic Programmers) Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process Parallel Programming with Microsoft Visual C++: Design Patterns for Decomposition and Coordination on Multicore Architectures (Patterns & Practices) 11 Crochet Shawl Patterns: Crochet Poncho Patterns, Free Easy Crochet Patterns and More Crochet Mandala For Beginners Learn To Create 15 Amazing Crochet Mandala Patterns: (Crochet Mandala Patterns, Crochet for Beginners) (crochet books patterns, cute and easy crochet) His Forge Burns Hot for Mosaic Damascus: Knife Patterns & Techniques: Damascus pattern making & techniques. Learn how to make mosaic Damascus patterns ... techniques for making Damascus patterns. Crochet Mandala: 12 Most Gorgeous Patterns With Easy Instructions: (Crochet Hook A, Crochet Accessories, Crochet Patterns, Crochet Books, Easy Crochet ... Crocheting For Dummies, Crochet Patterns) Crochet Mandala: 15 Best Fabulous Patterns With Easy Instructions: (Crochet Hook A, Crochet Accessories, Crochet Patterns, Crochet Books, Easy Crochet ... Crocheting For Dummies, Crochet Patterns) Agile Estimating and Planning Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing Picasso at the Lapin Agile and Other Plays The Agile Church: Spirit-Led Innovation in an Uncertain Age Engineering Software as a Service: An Agile Approach Using Cloud Computing Agile Web Development with Rails 5 Agile: Desenvolvimento de software com entregas frequentes e foco no valor de negócio (Portuguese Edition) Engineering Software as a Service: An Agile Approach Using Cloud Computing + $10 AWS Credit More Agile Testing: Learning Journeys for the Whole Team (Addison-Wesley Signature Series (Cohn))