Single Responsibility Principle
The ‘S’ in SOLID design principles is for the Single Responsibility Principle. It is also the easiest one, in my opinion. The gist of it is that every part of the system should have only a single responsibility, including the system itself.
Take the below code
p { } u p { } p { } p { } b u / u / u / l b / b / b / i l l l c i L i L i L c o c o c o c g g g l i i i a o c o c o c s i i i s d g d g d g o o o U A e D e M e s c s e s a s e t l i r i h e h l h v e t e U e a r e r s r t e U e e e e s r U e ( s r ) e ( r ) ( ) On the surface, this looks fine, but those methods’ logic is neither reusable nor easily refactored.