this post was submitted on 24 Sep 2024
810 points (98.7% liked)

Programmer Humor

19282 readers
700 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 1 year ago
MODERATORS
 
top 45 comments
sorted by: hot top controversial new old
[–] RagingRobot 39 points 4 days ago (1 children)

Tests are just booby traps for the other engineers so they don't break your code by mistake.

[–] DacoTaco 13 points 4 days ago* (last edited 4 days ago) (1 children)

Its funny cause its true. I often design tests to be "if a case/enum value is added this test will explode and tell them to add code here"

[–] [email protected] 8 points 4 days ago (1 children)

This is why I like strong type systems with exhaustivity checks

[–] DacoTaco 2 points 4 days ago* (last edited 4 days ago) (1 children)

Saaaaame. But sometimes even strongly typed stuff wont break on compilation time

[–] [email protected] 1 points 4 days ago

'spose that's true enough

[–] [email protected] 56 points 5 days ago

Run it in your head, find the edge cases yourself, fix the bug... weakling.

Or do what I do in real life which is patch in new bugs and even a security flaw or two.

[–] MisterFrog 21 points 4 days ago (1 children)

While I know that these days, bugs in code can cause real-world harm (personal info leaks, superannuation records lost, lol google), I find it humorous to think of the equivalent, even worse outcomes in my discipline (chemical/process engineering).

"Didn't do any checks, fuck it, I know this calculation is fire 🔥"

Later: 🔥🔥💥

[–] [email protected] 5 points 4 days ago

It’s more: I have routed a few pipes in our test system and it’s now spitting out water known to be contaminated but now should have some extra sprinkles in so it’s fine.

What I’m saying is it’s even worse than didn’t do any checks. It’s willfully ignoring existing checks intentionally.

[–] FuglyDuck 42 points 5 days ago (2 children)

the energy of a chaotic neutral?
"maybe it'll work, maybe it won't, but it'll be FUN"

or chaotic evil?
"naw. fuck y'all's weekend.

[–] Psaldorn 33 points 5 days ago (2 children)

Merging failing tests so everybody else has failing tests and wastes time figuring out why.

Nothing neutral here

[–] jaybone 9 points 5 days ago (1 children)

I haven’t played DnD in like 20 years. Is “Chaotic Dickhead” an alignment now?

[–] [email protected] 6 points 5 days ago

That's basically just chaotic neutral

[–] [email protected] 1 points 5 days ago (1 children)

That's what the pipeline is for. It's not that hard to pinpoint the commit that lead to the errors.

[–] Psaldorn 8 points 5 days ago (1 children)

If I rebase my branch with main I do not expect any failing tests. If you waste my time merging shit code, fuck you. Fix your shit.

Unless prod is on fire and the CEO is prowling (even then, I'd argue standards should be maintained)

[–] [email protected] 5 points 5 days ago

I don't say this is good practice, you shouldn't even be able to merge to main with failing tests. I've implemented an emergency flag to do this, but I don't want to use it in normal, daily business.

[–] [email protected] 5 points 5 days ago* (last edited 5 days ago) (1 children)

"maybe it'll work, maybe it won't, but it'll be FUN"

Flashback to that Tom Cruise Scientology interview 🤣:

It really is ... Fun.

[–] FuglyDuck 5 points 5 days ago* (last edited 5 days ago) (1 children)

On a scale of one to translunar orbit, how freaking high was he?

[–] [email protected] 4 points 5 days ago
[–] [email protected] 13 points 4 days ago

I physically reacted to this post with a combination of disgust, anger, and fear. Do tests. All of the tests. Randomize the order in which your tests run. Cover all branches.

[–] [email protected] 33 points 5 days ago (2 children)

Real programmers test in production.

[–] [email protected] 62 points 5 days ago (2 children)
[–] jaybone 39 points 5 days ago (1 children)

They were under a lot of pressure.

[–] [email protected] 11 points 5 days ago (1 children)

They were under a lot of pressure.

It was sink or swim.

[–] [email protected] 8 points 5 days ago

No time to cave in

[–] [email protected] 14 points 5 days ago* (last edited 5 days ago) (1 children)

You mean like this?

Or like this?

What does that mean, 'To play us out'?

[–] [email protected] 3 points 5 days ago (1 children)
[–] [email protected] 3 points 5 days ago (1 children)
[–] [email protected] 0 points 4 days ago

AMERICA 🇺🇲🇺🇲🇺🇲🇺🇲🦅🦅🦅🦅❗❕❕🗣️🗣️🗣️🗣️🗣️🔊🔊🔊🔊🇺🇲🦅🦅🇺🇲🦅🇺🇲🦅🍔🍔🍔🍔🍔🍔 FREEDOM 🗣️🗣️🗣️🗣️🔊🔊🔊🔊🔥🔥🔥🔥🥶🥶🥶🥶🥵🥵🥵🥵🦅🦅🦅🇺🇲🇺🇲🇺🇲🇺🇲🇺🇲🇺🇲🇺🇲🦅🦅🇺🇲❗🇺🇲🇺🇲❗🦅❗🦅❗❕❗❕❕❗❕❕❗🇺🇲🇺🇲🇺🇲🇺🇲🗣️🗣️🗣️🔊🔊🔊🔥🔥🔥🔥 DELIVERING DEMOCRACY TO THE DESERT 🦅🦅🦅🦅❗🔊❗❗❗🔥🇺🇲🇺🇲🔥❗❕🔊✈️✈️✈️✈️✈️💣💣💣💣💣💣💣💣💣☢️☢️☢️☢️☢️💥💥💥💥💥🦅🇺🇲🦅🇺🇲🔥🔥🔥🥶🥶🥶🥵🥵🥵🦅🦅🦅🇺🇲🇺🇲

[–] [email protected] 16 points 5 days ago

Users will test, don't waste your energy.

[–] [email protected] 21 points 5 days ago

tests are for confirming your code STILL works if someone ever changes something

[–] [email protected] 20 points 5 days ago

Oh I trust my code, but I don't trust my coworkers not to break something on the very next commit.

[–] [email protected] 13 points 4 days ago (1 children)

I get a small amount of joy from clicking the "request changes" button and blocking some doofus from merging lazy untested code.

[–] [email protected] 4 points 4 days ago

I love going into a PR with 3 approvals already and shitting all over it

[–] [email protected] 10 points 5 days ago (2 children)
[–] [email protected] 5 points 5 days ago

Users are the acceptance testers.

[–] [email protected] 4 points 5 days ago* (last edited 5 days ago) (2 children)

It baffles me when people use flex layout when it's clearly visually a grid layout. Nothing here is flexing with varying element sizes and auto-fill-wrap-break of items.

A colleague of mine prefers flex too. But to me, grid is so much more intuitive and simple.

https://css-tricks.com/quick-whats-the-difference-between-flexbox-and-grid/

[–] [email protected] 2 points 4 days ago (1 children)

Tbh I'm not a web person (more of a backend person) and don't know the recommended practices. display: grid; is a good friend of mine xD

[–] [email protected] 2 points 4 days ago

I think using display: grid; as your default is the better default, so you're all set. :)

[–] [email protected] 2 points 5 days ago (1 children)

Why do you need either? Just throw the both in the html

[–] [email protected] 2 points 4 days ago (1 children)

People can pull from my cold, dead hands.

(though I'm usually only using it to display some status just for me and not for external consumption; the UI side can have a JSON if it ever comes to that).

I used to be a full-stack dev, but I've been pure backend for so long now, everything I knew is outdated or deprecated.

[–] [email protected] 2 points 4 days ago

everything I knew is outdated or deprecated

Given the way the frontend world seems to work, this means you’ve been backend-only for at least a week lol

[–] whotookkarl 7 points 5 days ago

Weak code lacks tests

Alt: if strength relies on unity I need to switch to game dev

[–] [email protected] 5 points 5 days ago

You can't trust others to not break your wonderful code. Write tests for the regression.

[–] [email protected] 5 points 5 days ago

"Tester, c'est douter"

[–] [email protected] 1 points 4 days ago

The best way is to try it over and over until it works and then assume it works but then go insane wondering where all the edge case bugs are coming from.

I wrote a test one time.