Object Design Checklist

Object Design Checklist

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.