Object Design Checklist
Maximiliano Contieri
Engineering Manager@Avature | CS Teacher@UBA | Book Author@O'Reilly | MaximilianoContieri.com
This is an index to already published articles on software design.
Some rules must be followed and embraced to create great software designs.
This article summarizes 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
Refactorings
Understand Refactorings
Philosophy
Exercises
Index on GitHub
Buy my Book
This series aims to spark debate and discussion on software design.
Your comments and suggestions are highly appreciated.
This article is also available in Spanish here.