Maxi Contieri

Maxi Contieri @mcsee

About: Learn something new every day. - I am a senior software engineer working in industry, teaching and writing on software design, SOLID principles, DDD and TDD.

Location:
Buenos Aires
Joined:
Apr 13, 2020

Maxi Contieri
articles - 250 total

Code Smell 305 - Null Infinity

To infinity but not beyond TL;DR: Use Infinity instead of None when looking for minimums ...

Learn More 0 0Jun 28

Explain in 5 Levels of Difficulty

TL;DR: In this series, I will explain several concepts to five different audiences ...

Learn More 2 4Jun 24

Explain in 5 Levels of Difficulty: Vibe Coding

From Code Smell detectors to AI Whisperers: Programming is Getting Its Groove Back TL;DR: I will...

Learn More 8 3Jun 22

Code Smell 304 - Null Pointer Exception

I keep writing about NULL problems, yet every day the news reminds me: NULL is still alive and...

Learn More 1 3Jun 18

Code Smell 303 - Breaking Changes

When you break APIs without warning, you break trust TL;DR: You should version your APIs to prevent...

Learn More 3 2Jun 12

Code Smell 302 - Misleading Status Codes

When your API says "Everything is fine!" but returns errors TL;DR: Returning a successful HTTP...

Learn More 5 2Jun 7

Refactoring 029 - Replace NULL With Collection

Transform optional attributes into empty collections for cleaner, safer, and polymorphic code,...

Learn More 7 2Jun 2

Code Smell 301 - Database as Parameter

Passing databases creates accidental coupling and breaks business encapsulation. TL;DR: Don't mix...

Learn More 5 2May 25

Refactoring 028 - Replace Consecutive IDs with Dark Keys

Enhance Security and Reduce Scraping Risks by Refactoring Object Identifiers TL;DR: Replace...

Learn More 1 1May 17

Code Smell 300 - Package Hallucination

A chain is only as strong as its weakest link, and hallucinating dependencies will damage your...

Learn More 1 0May 12

Code Smell 299 - Overloaded Test Setup

When your test setup is bigger than the actual test TL;DR: Bloated setup that's only partially used...

Learn More 0 1May 9

Code Smell 298 - Microsoft Windows Time Waste

When Conditional Logic Silences Critical Signals TL;DR: Skipping status reports in conditional...

Learn More 1 1May 3

Code Smell 297 - Syntactic Noise

Your code shouldn't look like alien hieroglyphics TL;DR: Too many cryptic symbols make your code...

Learn More 6 0Apr 27

From Helpful to Harmful: How AI Recommendations Destroyed My OS

Why you should always be in control TL;DR: Always stay in control when using AI tools. Blind trust...

Learn More 4 0Apr 21

Refactoring 027 - Remove Getters

Unleash object behavior beyond data access TL;DR: Remove or replace getters with behavior-rich...

Learn More 3 0Apr 18

Code Smell 296 - Unhappy to the Right

Keep your happy path flowing, not nesting TL;DR: Arrange your code so the main logic flows along...

Learn More 4 0Apr 13

Refactoring 026 - Migrate Global Console Input to Declarative Function

Transform manual hard-coded inputs into testable functions TL;DR: Extract input logic into separate...

Learn More 4 0Apr 6

Refactoring 025 - Decompose Regular Expressions

Make Regular Expressions Testable and Understandable TL;DR: You can break down a complex validation...

Learn More 2 0Mar 31

Code Smell 295 - String Concatenation

Untangling the string mess in your code TL;DR: Avoid string concatenation for complex strings, use...

Learn More 1 0Mar 24

Code Smell 294 - Implicit Return

Your language adds clever features. Making YOU more obsolete TL;DR: Overusing implicit returns...

Learn More 1 2Mar 16

The Great Programmer Purge: How AI Is Taking Over the Tech Workforce

How AI is Redefining the Role of Programmers in the Tech Industry TL;DR: AI-generated code...

Learn More 3 4Mar 12

Refactoring 024 - Replace Global Variables with Dependency Injection

Break Hidden Dependencies for Cleaner Code TL;DR: Replace global variables with dependency...

Learn More 1 0Mar 9

Code Smell 293 - isTesting

Don’t let test code sneak into production TL;DR: Avoid adding isTesting or similar flags. ...

Learn More 2 0Mar 6

Code Smell 292 - Missing Return

When your code loses its way TL;DR: Missing return statements cause unexpected behavior. ...

Learn More 1 0Feb 27

Code Smell 291 - Mutable Keys

Changing Keys, Losing Values TL;DR: When you use mutable objects as keys in hashed collections,...

Learn More 2 0Feb 23

Refactoring 023 - Replace Inheritance with Delegation

Transform your rigid inheritance into flexible delegations TL;DR: Replace restrictive inheritance...

Learn More 2 0Feb 16

Code Smell 290 - Refused Bequest

Ignoring your inheritance leads to conflicts with your origins. TL;DR: Subclasses should honor ALL...

Learn More 0 0Feb 12

Code Smell 289 - Shy Visitor

Don't knock. You are accepted TL;DR: Avoid combining the Visitor pattern with instanceof...

Learn More 1 0Feb 7

Code Smell 288 - Unthrown Exceptions

TL;DR: Creating a new exception without throwing it leads to silent failures. When You Forget to...

Learn More 2 0Feb 2

Code Smell 287 - Unused Local Assignment

Are you using the returned value? TL;DR: Avoid assigning values you never use. ...

Learn More 7 0Jan 29