DEV Community

Cover image for Object Design Checklist
Maxi Contieri
Maxi Contieri

Posted on • Edited on • Originally published at maximilianocontieri.com

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

Avoid Accidental Complexity

Get Inspired by Quotes

Anti Patterns

Do not use Singleton:

Avoid Code Smells

Refactorings

Understand Refactorings

Philosophy

Exercises

Index on GitHub

GitHub

Buy my Book

Clean Code Cookbook


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.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more →

Top comments (0)

Cloudinary image

Optimize, customize, deliver, manage and analyze your images.

Remove background in all your web images at the same time, use outpainting to expand images with matching content, remove objects via open-set object detection and fill, recolor, crop, resize... Discover these and hundreds more ways to manage your web images and videos on a scale.

Learn more

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay