this post was submitted on 13 Nov 2025
1007 points (99.1% liked)

Programmer Humor

27322 readers
2267 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] tdawg@lemmy.world 117 points 1 day ago (5 children)

Ngl that's like baby levels of nasty code. The real nasty shit is the stuff with pointless abstractions and call chains that make you question your sanity. Stuff that looks like it's only purpose was to burn the clock and show off a niche language feature. Or worse than that even is when the project you inherit has decade old dependencies that have all been forked and patched by the old team

If all I had to worry about was organization and naming I'd be over the moon

[–] dohpaz42@lemmy.world 63 points 1 day ago (3 children)

Git commits with message saying “pushing changes” and there are over 50 files with unrelated code in it.

[–] tdawg@lemmy.world 40 points 1 day ago (1 children)
[–] pinball_wizard@lemmy.zip 22 points 1 day ago* (last edited 1 day ago)

"Fix for critical issue."

Followed by an equally large set of files in a commit with just the message:

"Fixup"

And then the actual fix turns out to be mixed in with "Start sprint 57 - AutoConfiguration Refactor" which follows "Fixup"

[–] Black616Angel@discuss.tchncs.de 3 points 17 hours ago (1 children)

In the past I had commit messages with change numbers from a system, that was no longer in use.

So the commit just said “CH-12345“. It is the kind of annoying, where you can't even really be mad at someone.

[–] dohpaz42@lemmy.world 2 points 16 hours ago

I put my ticket numbers in my tickets, but i also try to describe the change too (e.g. “Fix bug where xyz happens due to zyx action”). Also, atomic commits: commit only related changes.

Yes, it takes longer to commit large changes, BUT you can easily merge the commits, and rollback only what needs to be rolled back.

[–] themaninblack@lemmy.world 22 points 1 day ago (1 children)

Former coworkers: “oh, these two lines are the same in function x and function y. TIME TO ABSTRACT”

[–] criss_cross@lemmy.world 4 points 1 day ago

My favorite was an abstract class that called 3 levels in to other classes that then called another implementation of said abstract class.

And people wonder why no one on our team ever got shit done.

[–] Valmond@lemmy.world 2 points 1 day ago

And hard casting onto the wrong class because a neat function lives in there (who will detect you did that and treat you a little different because you don't have all the resuired data in that class instance) as a "quick fix"

[–] merc@sh.itjust.works 1 points 18 hours ago

Even if the abstractions aren't pointless, there's a limit to how many levels of abstraction you can make sense of.

I've seen some projects that are very well engineered, with nice code, good comments, well named variables and functions. But, the levels of abstraction and nesting get so deep that you forget why you were digging by the time you get somewhere relevant.

What's frustrating there is that you can't blame someone else. It's just a limit for how much your brain can contain.