Object Design Checklist

Subscribe to my newsletter and never miss my upcoming articles

Listen to this article

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.


Build a MAPPER

Keep a bijection to real entities:


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


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.

Juan Carlos Diazgranados's photo

Muy bueno. Ha valido la pena el tiempo dedicado a su lectura

Bader Alharbi's photo

I learned my first programming language in OOP style, it was Java and used in learning and solving classic bioinformatics problems, then switched to different style because if you doing PhD no time to think about anything but getting results and writing , cannot wait to finish reading this series

Maxi Contieri's photo

Thank you

Sorry. There is no finish for this series. I learn new things every day.

Nevertheless i am working on a series of more basic OOP principles