Beginner level programmers here are some Object Oriented Programming principles to keep in mind,

  1. Encapsulate what varies
  2. Code to the interface, not to the implementation
  3. Favor composition over inheritance
  4. Strive for loosely coupled designs between objects that interact.
  5. Classes should be open for extension but closed for modification.
  6. Depend on abstraction, Do not depend on concrete classes.
  7. A class should have only one reason to change.

These principles make your code modular, flexible, adaptable and maintainable. Sometimes I missed any points, Let me know!!!

Happy Coding.....