SOLID 2020 and beyond
One of my favourite
set of principles as a developer has always been the SOILD principles. I
believe they promote well thought out code, and that if you aim for those
principles, no matter where you end up, it's usually a pleasant place.
I wanted to take a
look at how SOLID fits in the 2020 landscape of cloud, serverless, containers
etc and see if the lessons these principles teach us are still relevant in
today's world.
O : Open-ClosedPrinciple
L: Liskov Substitution Principle
I: Interface Segregation Principle
D: Dependency Inversion Principle
L: Liskov Substitution Principle
I: Interface Segregation Principle
D: Dependency Inversion Principle
I would argue that
these principles are as relevant today as they've always been. The benefits of
employing the Single Responsibility Principle in Lambda API endpoints on AWS,
for example, are the same as in classes or objects.
In my experience,
the simpler the code, the easier it is reason with, deploy and ultimately,
maintain. That’s not to say that you should beat yourself up if you find your
objects/classes don't meet the SOLID principles exactly, they're principles to
aspire to, not a blood oath. Question whether what you're building is
appropriate, if it is, note down why you've made the choices you have and move
on.
What are your
thoughts on the relevance of SOLID?