S.O.L.I.D design principle comes from Object oriented programming guidelines. It is designed to develop software that can be easily maintained and extended; prevents code smells; easy to refractor; promotes agility and finally incorporates rapid + frequent changes quickly without bugs.
Generally, technical debt is the result of prioritising speedy delivery over perfect code. To keep it under control - use SOLID principles, during development.
Robert Martin, is credited with writing the SOLID principles and stated 4 major software issues if S.O.L.I.D is not followed diligently. They are :
Rigidity:
Implementing even a small change is difficult since it’s likely to translate into a cascade of changes.
Fragility:
Any change tends to break the software in many places, even in areas not conceptually related to the change.
Immobility:
We’re unable to reuse modules from other projects or within the same project because those modules have lots of dependencies.
Viscosity:
Difficult to implement new features the right way.
SOLID is a guideline and not a rule. It is important to understand the crux of it and incorporate it with a crisp judgement. There can be a case when only few principles out of all is required.
#typescript #javascript #solid-in-javascript #what-are-solid-principles #what-is-a-solid-principle #design-patterns #design-principles #object-oriented-design