Skip to main content

Command Palette

Search for a command to run...

Object Design Checklist

Updated
1 min read
Object Design Checklist
M

I’m a senior software engineer loving clean code, and declarative designs. S.O.L.I.D. and agile methodologies fan.

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.

J

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

1
B

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

M

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