16.3.23

Clean Architecture

I finished Clean Architecture – A Craftsman’s Guide to Software Structure and Design (Robert C. Martin, 2017, 432 pages), and I like it a lot!

As any other experienced software developer, I have come across issues around software design and architecture multiple times. And I have experienced good architectures, and bad ones. Creating good software architecture is simply not easy.

What I like about this book is that it made me very aware of some of the main issues in this field, and why this is difficult for everyone. The book is great at delineating some principles that I believe can really help putting a good architecture in place. But it also contains enough examples and stories as of how good intentions turned out to result in bad software.

At the core, the book got me thinking a lot about the “flow of control”, and essentially how the software will go about delivering on some expected behavior (user stories). And how much the code dependencies need to be inverted against this very flow of control, so that adding new behaviors does not break with existing code. This is a powerful concept.

I also enjoyed a lot the fact that the book starts with some history on programming, and how things have evolved since the very beginning (late 1930’s) both in terms of paradigms and also in terms of hardware. And I enjoyed the semi-autobiographic views of the author at the end of the book as well, with bad and good examples of software projects he worked over time.

If you are also interested in getting some great overview over programming, while learning some principles about good software design and architecture, I think this book is the right choice. Just go for it.

No comments: