DEV Community

Cover image for Design Principles
Said Olano
Said Olano

Posted on

Design Principles

There are certain universal laws and principles in software development that guide architects, programmers, and anyone needing to design software.

KISS
YAGNI
Do The Simplest Thing That Could Possibly Work
Separation of Concerns
Keep things DRY
Code For The Maintainer
Avoid Premature Optimization
Minimise Coupling
Law of Demeter
Composition Over Inheritance
Orthogonality
Robustness Principle
Inversion of Control
Maximise Cohesion
Liskov Substitution Principle
Open/Closed Principle
Single Responsibility Principle
Hide Implementation Details
Curly's Law
Encapsulate What Changes
Interface Segregation Principle
Boy-Scout Rule
Command Query Separation
Murphy's Law
Brooks's Law
Linus's Law

Top comments (0)