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.

Axioms

Build a MAPPER

Keep a bijection to real entities:

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

Remove Accidental Complexity

Get Inspired by Quotes

Anti Patterns

Avoid Code Smells

Do not use Singleton:

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.

Written by

I’m senior software engineer specialized in declarative designs. S.O.L.I.D. and agile methodologies fan.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store