So, what are the terms DRY, DIE, KISS, SOLID, YAGNI and what do these principles in programming / tech mean - let's consider them in order.
DRY - stands for Don't Repeat Yourself, also known as DIE - Duplication Is Evil. This principle states that you should avoid repeating the same code. It is better to use universal properties and functions.
KISS - Keep It Simple, Stupid! The meaning of this programming principle is that you should make the architecture as simple and understandable as possible, apply design patterns and not reinvent the wheel.
The SOLID principle in a simplified version means that when writing code, using several principles together makes it much easier to further support and develop the program. The acronym fully stands for:
- Single responsibility principle (a class should have one, and only one, reason to change);
- Open/closed principle (software entities should be closed for modification but open for extension);
- Liskov substitution principle (functions that use a base type must be able to use subtypes of the base type without knowing it. Subclasses cannot override the behavior of base classes. Subtypes must complement base types);
- Interface segregation principle (many client-specific interfaces are better than one general-purpose interface);
- Dependency inversion principle (dependencies within a system are built on abstractions. High-level modules should not depend on low-level modules. Abstractions should not depend on details. Details should depend on abstractions);
The term YAGNI means You Ain't Gonna Need It! Its essence is to implement only the assigned tasks and refuse redundant functionality.