Software Engineering Principles
Introduction
There are a large number of software engineering principles proposed by various authors over the years. The purpose of these principles is to provide some simple, easy to remember rules, that will help us to write better code.
The SOLID principles are the most well known, but there are many others that are worth knowing about. In this section, we will cover some of the most important principles that you should be aware of.
Contradictory Principles
It is worth noting that some of these principles can be contradictory. For example, the KISS principle and the Dependency Inversion Principle can sometimes be at odds with each other. This is because the KISS principle tells us to keep things simple, while the Dependency Inversion Principle tells us to introduce abstractions to decouple our code. Do we need those abstractions? Don't they add complexity? Maybe, maybe not. It's up to you to decide.
You have to use your judgement to decide which principles are most important in a given situation. There is no one-size-fits-all answer.
Principles
🗃️ SOLID Principles
5 items
📄️ DRY Principle
Introduction
📄️ Keep It Simple, Stupid (KISS) Principle
Simple is better than complex.
📄️ You Aren't Gonna Need It (YAGNI) Principle
Don't implement features until they are actually needed.