Customer Reviews


36 Reviews
5 star:
 (25)
4 star:
 (4)
3 star:
 (2)
2 star:
 (2)
1 star:
 (3)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 

The most helpful favorable review
The most helpful critical review


55 of 65 people found the following review helpful
4.0 out of 5 stars Well done, with one exception
First, this book is well written and presents information in a constructive manner. It is well thought out, and is not just another C#/OOP/XP book.

Now for the bad news. One unnecessary oversight is the use of casts and "object" in some examples. Any author writing any C# book since 2005 must know that these idioms should no longer be encouraged. It is...
Published on April 19, 2007 by G. Askew

versus
8 of 9 people found the following review helpful
3.0 out of 5 stars Interesting, but needs work
This book is not a five. Full of bad code that does not use the full strength of C#. The concepts and ideas are excellent. The author in person is witty and very charismatic. It could have been a better book if he would have correctly converted it to C#. The examples are okay, but could have been better. Examples with squares and rectangles just don't do it for me. I will...
Published on July 23, 2010 by Maccurt


‹ Previous | 1 2 3 4 | Next ›
Most Helpful First | Newest First

55 of 65 people found the following review helpful
4.0 out of 5 stars Well done, with one exception, April 19, 2007
By 
G. Askew (Germantown, MD) - See all my reviews
(REAL NAME)   
Verified Purchase(What's this?)
First, this book is well written and presents information in a constructive manner. It is well thought out, and is not just another C#/OOP/XP book.

Now for the bad news. One unnecessary oversight is the use of casts and "object" in some examples. Any author writing any C# book since 2005 must know that these idioms should no longer be encouraged. It is unacceptable for a book published in February 2007 to possess this flaw.

Generics, used in moderation, result in cleaner code that is also type-safe, and usually performs better due to the absence of boxing/unboxing. The authors should consider posting alternative examples that favor Generic types and collections on their errata web page. If you purchase this book, you would be well-advised to review the examples with a bias against the use of casts and the word "object".

To be entirely frank, I don't see how other reviewers can justify a five star rating.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


25 of 28 people found the following review helpful
5.0 out of 5 stars Critical work on design and development, December 12, 2006
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.

More goodness can be found throughout the book in the gems relating to any number of design issues such as a small example of a problem the authors put forth to students of their various design/patterns courses: build a coffee maker. The authors go through the most common result they see and show the specific problem areas of that solution -- and then show a solution that is amazing in its simplicity, elegance, and maintainability.

This book is a critical read for folks at any level of experience. I'm going to do my best to make sure it gets on the required reading list for developers at my company.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


13 of 14 people found the following review helpful
5.0 out of 5 stars Agile Methods and Practices clearly explained, October 31, 2006
Verified Purchase(What's this?)
This book really covers two topics: Agile management methods and development practices used by agile team.

Section I, the description of the Agile methology is brief. This is obviously the intent of the author and agile is meant to be documenation-light. This section only consists of 100 pages. It's a quick read giving you everything you need to know to implement the Agile methodology in your team.

Section II, is titled "Agile Design". These chapters are high-level design principles with low-level examples and a thorough treatment of UML. This should have been split into two sections. This first, would be most useful for a beginner/intermediate developer to take their skills to the next level. The second part, is required reading/knowledge for any developer who needs to work with a team or who needs to plan a complex application.

Section III is presented as a case study. Under the guise of a desiging a payroll system, the authors present the most popular design patterns. This section depends on the previous sections and is a great example of the thought process of agile developers.

The book is well written and easy to read for intermediate to advanced developers. Beginning developers would stuggle with some sections. However, all levels would beneift from reading this book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 10 people found the following review helpful
5.0 out of 5 stars great book, title a bit misleading, January 10, 2012
By 
Dennis Mnuskin (Rochester, NY USA) - See all my reviews
(REAL NAME)   
Verified Purchase(What's this?)
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. However, having said that, there are still quite a few things that authors helped me see in a different light and I've already taken these lessons back to the team. No matter how much experience you have, if you read this book (keeping open mind and not with goal of learning C#), you will learn at least one valuable thing which will make you a better software engineer. They also helped me because their wording and examples are at a perfect level. Intermediate to experienced programmers (i.e. those with enough experience to know how much bad code really costs, in terms of money, time and blood pressure) can easily relate to what is being said and the examples they use are not standard, fictional, non-realistic "animal, cat, dog". Their examples helped me communicate with other team members to whom I wanted to convey some of the concepts behind agile, OOD approach and SOLID principles.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


8 of 9 people found the following review helpful
3.0 out of 5 stars Interesting, but needs work, July 23, 2010
By 
Maccurt "Maccurt" (Omaha, NE United States) - See all my reviews
This book is not a five. Full of bad code that does not use the full strength of C#. The concepts and ideas are excellent. The author in person is witty and very charismatic. It could have been a better book if he would have correctly converted it to C#. The examples are okay, but could have been better. Examples with squares and rectangles just don't do it for me. I will say the book did change my coding style. This realy is more theory, something to think about. I fear people will use the book and start implementing patterns for symptons they do not even have!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


12 of 16 people found the following review helpful
5.0 out of 5 stars Absolutely required reading for every[...], November 21, 2006
Verified Purchase(What's this?)
Robert Martin is one of the smartest people I've ever talked with, and he is one of the best technical writers I've ever read.

This book is *the* most comprehensive and most valuable introduction and guide to Agile programming, with a full discussion of Agile principles, the "fourteen practices of eXtreme programming," full discussion of "spiking, splitting, velocity, iteration, test-driven development, refactoring, pair programming, five types of UML diagrams," and how to use all of this in real world .NET development.

There is no doubt in my mind that this book will make you a better programmer, will challenge you, will teach you, will take you beyond what you already know, and will entertain you along the way. Robert is as good as it gets.

This book is required reading. Do not hesitate.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


16 of 22 people found the following review helpful
1.0 out of 5 stars The Other Reviewers are Brown Nosers, May 6, 2007
This book pretty much stinks. There is nothing C# about it. It doesn't leverage any of the advanced features, the examples are weak.

Reviewers and some programmers who are so turned on by words like "agile, patterns, etc.." will find though the title of the book contains the buzz words, the content of it is a farce.

I read this book and I was like "this is the same Robert Martin rehashed junk just translated into C#" [Not even a decent translation]. You'll find them also telling Microsoft developers how they shouldn't name interfaces with a capital I.

On the contrary, I am glad they did, I like to peruse my object browser and easily see the differences, it helps me a lot. Their pompous attitude is displayed in the preface trying to diss C# developers.

Don't get me wrong, I respect Java developers like Martin Fowler, Kent Beck, etc.. But they have intelligent things to say in their books and are not condescending.

This book has nothing of real importance, and the real thrust of agile practices and also of design patterns can be found in much better books by better authors and who know and leverage the power of C#. Wouldn't you rather learn these things from real professional .NET developers like Francesco Balena, Trey Nash, Juval Lowy?

These authors simply don't know C#, which is evident by the examples they present and the way they present it.

I know I sound harsh [and will take a lot of flack I'm sure by some newbie or even perhaps a few skilled] but this book does not deserve the praise it has been getting, plain and simple. It's not quite as bad as C# Design Patterns by James Cooper [which is pathetic, to say the least], but it is not good enough to buy from the lowest seller from Amazon.

My top recommended books:
1. "Accelerated C#" by Trey Nash
2. "Programming .NET Components" by Juval Lowy
3. "Test Driven Development in Microsoft .NET"
4. "Head First Design Patterns" [in Java but good]
5. "CLR Via C#" by Jeffrey Richter
6. "Code Complete" [Much better on practices then this book]
7. "Pro C# 2008 and the .NET 3.5 Platform" [Excellent]
8. "Framework Design Guidelines"
9. "WCF" by Juvy Lowy [Advanced stuff, but excellent]
10. "Pro LINQ Language Integrated Query in C# 2008"
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful
5.0 out of 5 stars This is a great book., August 7, 2009
By 
This book in NOT about learning how to program using C# as your language of choice. But, if you want a book on how to design and develop real world software then this is THE book on the subject. This is an updated version of a previous book (that won numerous awards) that has EXAMPLES written in C#. What I like the most about the book is that the authors take a firm stand on key issues and identify PRINCIPLES of design and development.

It's true that some of the old books by the Martins have been difficult to read because they covered a subject in agonizing detail and then go on and on to prove why their way of thinking is correct. In this book they drop the "proofing" (thank you) get to the point and show us the best way to build software.

The payroll examples are in C# and drive home the authors PRINCIPLES of design and development quite well.

I've been developing software for 30 years (10 years in C# and Java) and this book should be a part of every software developers library (regardless of the language being used).
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful
5.0 out of 5 stars Must read for senior C# Developers, March 28, 2009
This book has had a significant impact on the way I approach programming. It is on of the best C# books I've ever read. With that said, this is not a book for everyone. If you're learning the C# language this is not for you. I would recommend a book like C# In Depth, or Accelerated C#. This is the book for programmers who already know the tool intimately and whose focus is on using the tool to create clean, maintainable, software. This is important reading for developers who are ready to move to the next level.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful
3.0 out of 5 stars Still worth a read..., June 14, 2014
Verified Purchase(What's this?)
There are a few reasons why I rated this book a 3. So let me list some pros/cons.

PROS
=====
The book is worth a read because it contains some valuable information. Especially the chapters on the SOLID principles, the component packaging principles (analogous to the SOLID principles, but for components), and the chapter on component and class metrics that was very interesting. Those chapters are well written and I think demonstrate the principles well. Granted, you can probably find this information elsewhere. Probably why I rated the book a 3 instead of a 4.

In addition, the refactoring chapter was pretty good, too. And there were several chapters that covered the basic, most common design patterns that most programmers should know if they already don't.

CONS
=====
The book was written in 2007, and so is dated. For example, there is no use of generics anywhere in the sample code. IIRC, generics came out just after this book was published. Therefore, some of the examples given don't translate quite as well to the features now available in C#. Secondly, you can tell the examples are translated from Java. The original Clean Code book written by Robert C Martin is in Java--as that is a language the he programs in often. His son, who helped write this book, does program in C# (and probably Java)--but you can tell the examples still have Java programming idioms in them. (Full disclosure, I'm not a huge Java fan--that's my personal preference.) More importantly, however, is that Java has it's own coding conventions adopted by those who program in it, e.g. getSomething, setSomething (since Java doesn't have syntactic sugar for getters/setters), no 'I' in interfaces, it's just a List, not an IList--unlike C#. But the authors routinely ignore C# coding conventions in their examples, such as using camel case for methods and preferring getXXXX/setXXXX over .NET properties, and not prefixing interfaces with 'I'. For the record, I agree with the authors that prefixing interfaces with 'I' should not be necessary, nonetheless, it's a .NET coding convention.

What I'd really like to see is the author update this book, including all the examples. Show us how you would write SOLID code using .NET generics; the role that lambdas play when writing SOLID code; and use .NET coding conventions throughout.

Other than that, as I said at the beginning, the book still has a lot of good information in it that makes it worthwhile to pick up and read.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


‹ Previous | 1 2 3 4 | Next ›
Most Helpful First | Newest First

Details

Search these reviews only
Rate and Discover Movies
Send us feedback How can we make Amazon Customer Reviews better for you? Let us know here.