Object Design Checklist

Object Design Checklist

Leader posted 1 min read

Index articles on software design

TL;DR: 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.

Axioms

Build a MAPPER

https://coderlegion.com/6102/current-software-design-problems-addressed-in-a-minimalist-way

Keep a bijection to real entities:

https://coderlegion.com/6313/just-follow-this-design-principle

Definitions

https://maximilianocontieri.com/explain-in-5-levels-of-difficulty-object-oriented-programming

Corollaries

Do not use null

https://coderlegion.com/6462/null-the-billion-dollar-mistake

Avoid Accidental IFs

https://maximilianocontieri.com/how-to-get-rid-of-annoying-ifs-forever

Favor immutability:

https://coderlegion.com/6742/the-evil-power-of-mutants

Avoid Setters and Getters:

https://maximilianocontieri.com/nude-models-part-i-setters

https://maximilianocontieri.com/nude-models-part-ii-getters

Best practices

Avoid Coupling:

https://coderlegion.com/6634/coupling-the-one-and-only-software-design-problem

Fail Fast:

https://maximilianocontieri.com/fail-fast

Avoid Meta-Programming:

https://maximilianocontieri.com/laziness-i-meta-programming

Avoid Dynamic Code Generation:

https://maximilianocontieri.com/lazyness-ii-code-wizards

Choose meaningful names

https://maximilianocontieri.com/what-exactly-is-a-name-part-i-the-quest

https://maximilianocontieri.com/what-exactly-is-a-name-part-ii-rehab

Build a Theory

https://maximilianocontieri.com/programming-as-theory-building

Avoid Accidental Complexity

https://maximilianocontieri.com/no-silver-bullet

Get Inspired by Quotes

https://maximilianocontieri.com/software-engineering-great-quotes

Anti Patterns

Do not use Singleton:

https://maximilianocontieri.com/singleton-the-root-of-all-evil

Avoid Code Smells

https://maximilianocontieri.com/how-to-find-the-stinky-parts-of-your-code

Refactorings ⚙️

Understand Refactorings

https://maximilianocontieri.com/how-to-improve-your-code-with-easy-refactorings

Philosophy

https://maximilianocontieri.com/warning-the-universes-event-simulator-is-a-fierce-adversary-for-coders

Exercises

https://maximilianocontieri.com/how-to-decouple-a-legacy-system

https://maximilianocontieri.com/how-to-squeeze-test-driven-development-on-legacy-systems

https://maximilianocontieri.com/how-i-survived-the-zombie-apocalypse

Index on GitHub

https://github.com/mcsee/Software-Design-Articles

Buy my Book

https://cleancodecookbook.com/


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.

1 Comment

1 vote

More Posts

Your Tech Stack Isn’t Your Ceiling. Your Story Is

Karol Modelskiverified - Apr 9

I’m a Senior Dev and I’ve Forgotten How to Think Without a Prompt

Karol Modelskiverified - Mar 19

Tuesday Coding Tip 02 - Template with type-specific API

Jakub Neruda - Mar 10

The Hidden Program Behind Every SQL Statement

lovestacoverified - Apr 11

3.5 best practices on how to prevent debugging

Codeac.io - Dec 18, 2025
chevron_left

Related Jobs

View all jobs →

Commenters (This Week)

1 comment
1 comment
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!