Skip to main content

Command Palette

Search for a command to run...

Object Design Checklist

Updated
1 min read
Object Design Checklist

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


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.