Why I Read this book?
Every couple of months I like to do what I call deep dives in some aspects of software development practices. This usually involves me spending some of my evening time, just working through or reading a book. I usually pick a topic I really want to learn in detail. This may be areas I have plenty of exposure too but may not get enough time during the working day too really master.
As a software developer, you will inevitably find yourself moving between technology stacks, environments, code bases and even companies going from emergency to emergency! Mastering, one key aspect of something but not having the opportunity to understand everything.
A book like Clean Code: A Handbook of Agile Software Craftsmanship really helps you to learn the principles of clean code from a platform agnostic point of view, despite all the code samples being in Java. However, I really wanted something that would covr the principles a bit more from a C# point of view and that is when I noticed Adaptive Code: Agile coding with design patterns and SOLID principles (Developer Best Practices)
What I learned from this book
What I really liked about this book is that it went into alot detail when the author discusses the SOLID Principles. However, he managed to keep the example code quite simple, with just enough detail to get the point across. Which in my opinion is perfect, because it makes reading and coding along really easy thus not inducing a cognitive overload.
The other plus side, which is often quite unusual for books about code, is that the samples actually work!
The book begins with an overview of Scrum and Kanban, but I have to admit that I conveniently skipped those two chapters. The author could probably have saved himself the effort. It is my experience, that absolutely no company I have ever worked with, actually implements agile practices that are remotely identifiable to any agile practices.
Once that is out of the way, the book adds indispensable practical insights dependency inversion and creating reusable abstractions. It also has deeper coverage of unit testing, refactoring, pure dependency injection, and more.
Who Should Read this book ?
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. That is what sets this book apart.
It teaches you how to write code that is future-proof in that allows you to make changes to existing code without breaking other code that depends on the modified code. The importance cannot be overemphasized.
This enables you to make changes and write unit tests 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.
Why I recommend this book
This is a really terrific book about architecture and design patterns. I would highly recommend this for software engineers and developers from intermediate to advanced.
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.
A unique background as business owner, marketing, software development and business development ensures that he can offer the optimum business consultancy services across a wide spectrum of business challenges.
Latest posts by Gary Woodfine (see all)
- Happy 4th Blog Birthday – A blogging year in review - Dec 6, 2018
- Getting started with .NET Core and the Serverless Framework - Dec 3, 2018
- How to use the Abstract Factory design pattern in C# - Nov 18, 2018