Adaptive Code: Agile coding with design patterns and SOLID principles (Developer Best Practices)

This Post Has 13 Comments

  1. Excellent book for MS and other developers
    First, I don’t know how anyone could possibly give this book only 2 stars (maybe their dog died that day and they were just in a bad mood). Look at the other ratings: so far, all 10 reviewers other than that one dude gave the book 5 stars. He is the outlier, not the norm.There is so much good information in this book: there is no filler – it’s all quality, need-to-know material. This book is well worth the price … and then some.This book uses C# in its code examples, but the majority of the book applies to Agile development in general, not being specifically tied to C#, or even to Microsoft. Think of it like Robert Martin’s book Clean Code, which has Java code examples, but whose material applies to far more than just Java developers.

  2. I have a lot of books that are really great for references on how to most effectively use certain …
    I am not done with the book yet but even half way through I can say that every serious programmer has to read this book. I have a lot of books that are really great for references on how to most effectively use certain technologies. This is a very different book, though. It teaches you how to write code that is ‘future-proof’, i.e. that allows you to make changes to existing code without breaking other code that depends on the modified code. The importance of this cannot be overemphasized. Not only does it changes, unit tests, etc much easier but it also makes things so much easier for the users of your code, be it fellow programmers that base their code on your code, customers that use your libraries, etc.

  3. Explores SOLID and patterns in depth…
    I enjoyed this book a great deal. It contains a lot of instructive patterns and refactorings. For my taste, it has the right mix of theory and example. The reasons I don’t give it a 5:* The process chapters in the beginning seem out of place. The book is primarily about design and code and that’s what I expected. So I just skipped over them.* The SRP chapter applies an incorrect understanding of the SRP. I actually mention this in a blog post (http://www.softwareonthebrain.com/2022/01/the-misunderstood-single-responsibility.htmhttp://www.softwareonthebrain.com/2022/01/the-misunderstood-single-responsibility.html?m=1), not because it’s specific to this book but because almost everything that I read about the SRP misunderstands it. Uncle Bob seems to agree because he tweeted a link to the post.* SOLID is useful and well-known but it does not capture the richness of everything the author has to say. There are a lot of good points made in the SOLID chapters that are forced into the SOLID framework.If I could I speak to the author, I’d suggest:* Remove the agile chapters. Write another book about that if you like. Leave the word Agile out of the title. Seems contrived so a keyword search will work.* Drop SOLID from the title. Don’t force-fit everything into SOLID as it does not capture everything. Structure things in a more natural way.* Consider that there is anti-Microsoft bias in the OSS community. So half the market won’t even look at it based on the fact that it’s an MS book. That’s silly but true. Under a different publisher with a mix of C# and, say, Java examples it’d likely be read by a broader audience.The book is rich with insight. Despite what I say above it is definitely worth picking up. As an illustration of how much I liked it, when I saw the advertisement for the 3rd edition I was prepared to order it right after reading the 2nd edition. But it’s not ready yet. 🙁

  4. Good book for folks new to production coding.
    I wish it were written for Java, because that is what I use at work, but it is still useful. Chapters follow a pattern of ‘Here’s the idea’, ‘Here’s how you do it in C#’. C# is close enough to Java to get the point.

  5. SOLID MEETS .NET IN A GREAT BOOK
    This is one of the most helpful software engineering books I’ve ever read. It is most useful for people who have some real world experience in .NET development. I couldn’t have gotten so much out of the book without my last year of work developing API services for a major thermostat manufacturer.I’ve encountered a lot of the pain this book hopes to remove. I devoured this book. I read 10 chapters of it while on “vacation” and don’t regret a minute spent reading it. I’m excited about taking the concepts one bite at a time and trying to integrate them into my real work. Great book.

  6. Nice book
    Definately a nice book to read, got a clear understanding of most concepts discussed in it.A reviewer said that it just provided an overview of the concepts… While it may be true, i feel like the only way to master these skills is to apply them in real world projects. You simply won’t get good at software development by just reading books.The best way to learn from it is to read the whole thing the first time, and then get back in the book after you encounter a problem on your project.

  7. Lectura obligada
    Ojalá hubieran escrito este libro hace 10 años, el contenido es increíble, fundamental para cualquier persona que desee mejorar sus conocimientos y habilidades como ingeniero de software. Muestra el camino correcto y sencillo para construir software de calidad. Totalmente recomendado.

  8. Painfully abstract
    I must admit to being a very aged programmer. I have many battle with software architects who choose purity and abstraction over performance. If you’re writing a system that must be completely agnostic, run on any platform and any database, then this is your book. If you need a system that actually performs, and don’t want to either throw ever expanding hardware to compensate that lousy performance, then this is NOT your book. I’ve litterally come across purist systems like the ones written here, and improved performance from 100X to 1000X by removing some of the pointless abstractions. Also I strongly disagree that a unit test should NOT test the underlying database. Really what’s the point if you have a beautiful test, but doesn’t check it against the underlying hardware / software.

  9. Livre très intéressant qui introduit bien les spécificités du langages C#, ainsi que quelques designs patterns et ainsi que les principes SOLID.Les exemples sont clairs, les chapitres bien structurés. Je recommande ce livre à toutes les personnes qui ont déjà programmé dans un autre langage que le C# et qui veulent se lancer dedans, tout en ayant un livre abordant les bonnes pratiques de programmation

  10. I started working as a junior dev about half a year ago. At that time I only knew how to create classes and methods and do some simple interactions between them. So as everyone might imagine, I was completely lost at work and overwhelmed. Gladly, my coworkers were nice and tried to explain the concepts I didn’t know. But of course work needed to be done and due to that the explanations were short. So I bought this book with the expectation to finally understand what I am doing everyday. So far I have read 3 chapters and I love this book. It already helped me understand some of the things we are doing and why we are doing it. Great book for everyone who recently started programming and wants to improve their skills.

  11. This is an easy to follow comprehensive book on techniques to make your programming more adaptive to change. It provides a very good high level overview of a development process. Some areas such as Agile and Testing it can’t go into details so you will need to read other books to learn more but it does give you a very good idea of why they are important.It goes into more detail when it talks about SOLID principles. The examples are simple but I don’t think that’s a bad thing. This is the sort of book you want to read, do some development and then come back and read again to see if there is something more you could learn.

Leave a Reply

Your email address will not be published. Required fields are marked *