Software Design Principles aka SOLID

Do you remember this famous quote?:

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

How nice. :eyeroll:

I prefer to think that we must improve because we are valuable professionals (that need to be well paid) and mostly because we must treat well our future selves.

Yes, the real human who ends up maintaining your code in most cases is you.

The SOLID principles are useful to avoid the following problems in code:


It is hard to change because every change affects too many other parts of the system.








Fragility: When you make a change, unexpected parts of the system break.

Immobility: It is hard to reuse in another application because it cannot be disentangled from the current application.