Skip to main content

Software Engineering Principles

Introduction

Smart Icon

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

Image Credits

Knowledge icons created by Freepik - Flaticon