15 Code Crimes That Make Developers Cringe

Jay JohannesJay Johannes
5 min read

We've all been there - sitting in front of a screen, sipping on our umpteenth cup of coffee, and suddenly... boom. There it is. A line of code that makes us audibly groan, roll our eyes, or even question our career choices. That, my friends, is what we call a "cringe" moment.

But what exactly is "cringe"? In the dev world, it’s that spine-chilling sensation you get when you see something so awkward, so poorly executed, or so fundamentally wrong that you can’t help but squirm. It’s like watching someone try to parallel park a semi-truck for the first time - painful, uncomfortable, and yet you just can’t look away.

Let’s explore some of the top offenders that make developers everywhere cringe harder than a toddler at a spinach buffet.

  1. Poorly Written Code: The Spaghetti Monster

Imagine opening a file and finding a mess of code that looks like someone tossed a plate of spaghetti on the screen and said, "Good enough." No structure, no sense—just a chaotic tangle of ifs, elses, loops, and functions with names like doThing() or stuffHandler(). This kind of code doesn't just make you cringe; it makes you want to grab a red pen and start grading it like an angry teacher.

  1. Lack of Documentation: The Treasure Hunt

"Documentation? What’s that?" said no good developer ever. It’s like trying to solve a mystery without any clues. You find yourself squinting at code like you're deciphering ancient hieroglyphics, wishing you could summon the developer who wrote it like a spirit in a seance. "What were they thinking? What does magicVariable even do?"

  1. Overuse of Global Variables: The Chaos Creator

Global variables are like party crashers - uninvited and causing havoc everywhere they go. You change one thing, and suddenly everything breaks. It’s the butterfly effect in code form, where a tiny tweak in one function sends your entire application spiraling into chaos. The cringe here is real, my friends.

  1. Copy-Pasting Code Without Understanding: The Stack Overflow Special

Ah, the old copy-paste maneuver. It’s a rite of passage for every newbie. But seasoned developers know the pain of debugging a mess that starts with a random code snippet from Stack Overflow or ChatGPT, pasted in with all the confidence of someone who didn’t bother reading the comments below it. "Why is this in Dutch?" you wonder, as the cringe builds.

  1. Ignoring Error Handling: The “What Could Go Wrong?” Approach

Error handling is like wearing a seatbelt. You hope you never need it, but when you do, you’re glad it's there. Ignoring error handling is like driving without a seatbelt and saying, "Meh, what’s the worst that could happen?" Answer: a lot. A whole lot.

  1. Not Following Best Practices: The Rebel Without a Clue

We get it—you’re a rebel. Rules don’t apply to you. But when you decide that best practices are for the weak, you’re not just marching to the beat of your own drum; you’re marching right off a cliff. And the cringe from watching this unfold is like slow-motion agony.

  1. Overengineering: The Rube Goldberg Machine

Ever seen a solution so complex for a simple problem that it looks like it belongs in a museum of modern art? Overengineering is when your solution involves five different microservices, a blockchain, and machine learning to print “Hello, World.” Watching this is like watching someone use a forklift to butter toast, cringe-worthy and unnecessary.

  1. Hard-Coded Values: The Concrete Shoes of Code

Nothing makes a developer cringe more than spotting a hard-coded value in the wild. It’s like finding a landmine in a field of flowers, innocent on the surface but capable of causing untold destruction. “Why is the tax rate hard-coded to 7.2345%? What happens if they move to a different country? What happens if it’s Tuesday?”

  1. Ignoring Warnings: The Ostrich Maneuver

Warnings are the yellow lights of coding, proceed with caution. But some developers treat them like background noise, a mere suggestion to be ignored. "Warnings? Never heard of 'em!" Meanwhile, the rest of us are watching this train wreck in slow motion, eyes twitching, fingers itching to fix it.

  1. Reinventing the Wheel: The NIH Syndrome

Some developers just can’t resist the urge to build their own solution from scratch, even if a perfectly good library already exists. It's like watching someone invent their own version of the wheel, only to realize it's square. "But it’s my square wheel," they insist, as everyone else cringes.

  1. Bad Naming Conventions: The Cryptic Conundrum

When you come across variables named foo, bar, thingy, or my personal favorite, x, it’s hard not to cringe. Naming conventions are supposed to make code readable and understandable, not mimic the behavior of an overenthusiastic toddler on a keyboard.

  1. Poor Git Commit Messages: The “Guess What I Did?” Game

You check the commit log and see messages like “fixed stuff,” “updated files,” or the mysterious “changes.” You think to yourself, “Fixed what? Updated which files? Changed how?” Every vague commit message is a cringe-worthy mystery that no one has time to solve.

  1. Inconsistent Formatting: The Picasso Effect

When code looks like a patchwork quilt of different styles, tabs here, spaces there, a random mix of brackets and indentations, it’s as if someone decided that Picasso’s approach to art would be great for coding. Spoiler: it’s not. It’s like trying to read a book with pages randomly glued together upside-down.

  1. Magic Numbers: The Sorcery of Sloppiness

Seeing random numbers sprinkled throughout the code is like stumbling upon a secret society. Why is there a “17” here? What does “42” mean in this context? Are these numbers magical? No, they're just confusing, and they make everyone else cringe with every mysterious integer.

  1. Ignoring Security Best Practices: The Code Cowboy

We all know that one developer who thinks security is optional. "Who needs to sanitize user input?" they say, like a cowboy waving away the concept of seatbelts and traffic lights. Meanwhile, the rest of us are diving under our desks, cringing in terror as the security holes gape wide open.

There you have it folks, 15 reasons why developers everywhere are cringing on a daily basis. So, let’s all take a deep breath, commit to better practices, and maybe just maybe - stop making our fellow devs cringe. And remember, code like your future self has to maintain it, because you just might be.

1
Subscribe to my newsletter

Read articles from Jay Johannes directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Jay Johannes
Jay Johannes

My everyday goal is to make difference in other people’s lives and through my work and business experience, I have built lots of different projects for students, entrepreneurs, and companies like websites, e-commerce, and systems.