SOLID. Software Design Principles
“It is not enough for code to work.”
― Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship
Before we will start investigating what are the five S.O.L.I.D. principles, I would like to say a few words about Technical debt:
You can find a lot of articles about it, but I want to share with you the simplest explanation:
Technical debt — it’s the result of prioritizing speedy delivery over perfect code.
Technical Debt Facts:
- No matter how good your team is, technical debt will accumulate over time;
- Left uncontrolled, technical debt will kill your project;
- If you want to keep it under control - use SOLID principles, during your development.
I will not describe what are Rigidity, Coupling, Immobility, and Viscosity. Those are the consequences of not using SOLID. You could find a lot of nice articles about those, so I won't focus on them, but I will give you short definitions for understanding if you are not familiar with them: