Object Design Checklist: An Index on Software Design Articles

Written by mcsee | Published 2025/01/14
Tech Story Tags: software-development | software-engineering | clean-code | software-architecture | software-design | object-oriented-programming | software-design-principles | accidental-ifs

TLDRImportant concepts about Object-Oriented Programming via the TL;DR App

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

https://hackernoon.com/what-is-wrong-with-software-uh8j3y7k?embedable=true

Keep a bijection to real entities:

https://hackernoon.com/the-one-and-only-software-design-principle-1x983ylp?embedable=true

Definitions

https://hackernoon.com/object-oriented-programming-explained-in-5-levels-of-difficulty?embedable=true

Corollaries

Do not use null

https://hackernoon.com/null-the-billion-dollar-mistake-8t5z32d6?embedable=true

Avoid Accidental IFs

https://hackernoon.com/how-to-get-rid-of-annoying-ifs-forever-zuh3zlo?embedable=true

Favor immutability:

https://hackernoon.com/is-it-crystal-clear-for-everybody-that-a-date-should-not-mutate-wuoy3z03?embedable=true

Avoid Setters and Getters:

https://hackernoon.com/nude-models-part-i-setters-5tm3u3y?embedable=true

https://hackernoon.com/nude-models-part-ii-getters-sjo3ua2?embedable=true

Best practices

Avoid Coupling:

https://hackernoon.com/coupling-the-one-and-only-software-designing-problem-9z5a321h?embedable=true

Fail Fast:

https://hackernoon.com/fail-fast-philosophy-explained-si963vk9?embedable=true

Avoid Meta-Programming:

https://hackernoon.com/laziness-chapter-i-meta-programming-6s4l300e?embedable=true

Avoid Dynamic Code Generation:

https://hackernoon.com/lazyness-chapter-ii-code-wizards-3i9x3xtr?embedable=true

Choose meaningful names

https://hackernoon.com/what-exactly-is-a-name-the-quest-part-i-fmw3udc?embedable=true

https://hackernoon.com/what-exactly-is-a-name-rehab-part-ii-4st3uph?embedable=true

Build a Theory

https://hackernoon.com/programming-as-theory-building-lts3eqr?embedable=true

Avoid Accidental Complexity

https://hackernoon.com/there-are-no-silver-bullets-for-this-werewolf-2t213woi?embedable=true

Get Inspired by Quotes

https://hackernoon.com/400-thought-provoking-software-engineering-quotes?embedable=true

Anti Patterns

Do not use Singleton:

https://hackernoon.com/singleton-pattern-the-root-of-all-evil-e4r3up7?embedable=true

Avoid Code Smells

https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-i-xqz3evd?embedable=true

Refactorings

Understand Refactorings

https://maximilianocontieri.com/how-to-improve-your-code-with-easy-refactorings?embedable=true

Philosophy

https://hackernoon.com/warning-the-universes-event-simulator-is-a-fierce-adversary-for-coders?embedable=true

Exercises

https://hackernoon.com/how-to-decouple-a-legacy-system-zf153u42?embedable=true

https://hackernoon.com/how-to-squeeze-test-driven-development-on-legacy-systems-rh113wcs?embedable=true

https://hackernoon.com/zombie-testing-one-behavior-at-a-time-9s2m3zjo?embedable=true

Index on GitHub

https://github.com/mcsee/Software-Design-Articles?embedable=true

Buy my Book

https://cleancodecookbook.com/?embedable=true


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.


Written by mcsee | I’m a sr software engineer specialized in Clean Code, Design and TDD Book "Clean Code Cookbook" 500+ articles written
Published by HackerNoon on 2025/01/14