@d0b3rman
3. L - Liskov Substitution Principle (LSP)
Definition: Subtypes should be substitutable for their base types without affecting the correctness of the program.
Why: This ensures that a derived class can be used in place of its parent class without unexpected behavior.