SOLID Principles
The SOLID Principles are five principles of Object-Oriented class design. They are a set of rules and best practices to follow while designing a class structure.
S : Single Responsibility
O : Open-Closed
L : Liskov Substitution
I : Interface Segregation
D : Dependency Inversion
Each principle is explained in its respective directory which contains an Ideal and Non-Ideal scenario.
For example: S - (Single Responsibility) directory
Contains not_ideal.py to show the voilation of the principle.
And ideal.py tries to follow the principle.