8 Basic Software Engineering Principles
There are a lot of Principles in Software Engineering, but there are 8 of them that are very important to any software engineer, let’s get to know them.
1. DRY: Don’t Repeat Yourself.
2. KISS: Keep It Simple Stupid.
3. YAGNI: You Aren’t Gonna Need It (avoid creating extra complexity through adding functionality that you assume you may need in the future).
SOLID:
4. Single Responsibility: every module or class should have only a single responsibility.
5. Open/Closed: software entities should be open for extension but closed for modification.
6. Liskov Substitution: objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.
7. Interface Segregation: small client-specific interfaces are better than one general-purpose interface.
8. Dependency Inversion: use interfaces instead of concrete implementations.