This is an index to already published articles on software design.
There are some rules to follow and embrace to make great software designs. This article will summarize them, serving as an index to full stories.
TL;DR: Important concepts about Object-Oriented Programming
Axioms
Build a MAPPER
Keep a bijection to real entities:
Definitions
Corollaries
Do not use null
Avoid Accidental IFs
Favor immutability:
Avoid Setters and Getters:
Best practices
Avoid Coupling:
Fail Fast:
Avoid Meta-Programming:
Avoid Dynamic Code Generation:
Choose meaningful names
Build a Theory
Avoid Accidental Complexity
Get Inspired by Quotes
Anti Patterns
Do not use Singleton:
Avoid Code Smells
Exercises
Part of the objective of this series of articles is to generate spaces for debate and discussion on software design.
We look forward to comments and suggestions on this article.
This article is also available in Spanish here.