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.
Axioms
Build a MAPPER
Keep a bijection to real entities:
The One and Only Software Design Principle
Maxi Contieri ・ Oct 13 '20
Corollaries
Do not use null
Null: The Billion dollar mistake
Maxi Contieri ・ Nov 18 '20
Avoid Accidental IFs
How to Get Rid of Annoying IFs Forever
Maxi Contieri ・ Nov 9 '20
Favor immutability:
Avoid Setters and Getters:
Best practices
Avoid Coupling:
Coupling: The one and only software design problem
Maxi Contieri ・ Feb 6 '21
Fail Fast:
Avoid Meta-Programming:
Laziness I: Meta-programming
Maxi Contieri ・ Jan 30 '21
Avoid Dynamic Code Generation:
Choose meaningful names
What exactly is a name? — Part I: The Quest
Maxi Contieri ・ Feb 9 '21
What exactly is a name - Part II Rehab
Maxi Contieri ・ May 23 '21
Build a Theory
Programming as Theory Building
Maxi Contieri ・ May 22 '21
Avoid Accidental Complexity
Coupling: The one and only software design problem
Maxi Contieri ・ Feb 6 '21
Get Inspired by Quotes
Software Engineering Great Quotes
Maxi Contieri ・ Dec 28 '20
Anti Patterns
Do not use Singleton:
Avoid Code Smells
How to Find the Stinky parts of your Code
Maxi Contieri ・ May 21 '21
Exercises
How to Squeeze Test Driven Development on Legacy Systems
Maxi Contieri ・ Nov 26 '20
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.