this post was submitted on 01 Aug 2025
177 points (99.4% liked)

Programmer Humor

25548 readers
489 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
[–] Lembot_0004@discuss.online 40 points 1 week ago (3 children)

It might be an absolutely adequate method. Imagine that is C++. operator-- is overloaded and controls some machinery. You can't just command capacity = currSize. Process is important.

[–] eager_eagle@lemmy.world 28 points 1 week ago (1 children)
[–] Lembot_0004@discuss.online 7 points 1 week ago (3 children)

That is why it is loved: it allows you to use ideas/objects the same way as you do as an engineer. Super cool.

[–] eager_eagle@lemmy.world 21 points 1 week ago (3 children)

yes, but in this particular case I wouldn't want to second guess my decrement operation just happens to also be calling the white house or whatnot. Just make a method.

[–] leo85811nardo@lemmy.world 2 points 1 week ago* (last edited 1 week ago)

That's just life of a C++ programmer: you second guess everything, and there are still optimization you haven't tried, and pitfalls you haven't got into

[–] CanadaPlus@lemmy.sdf.org 15 points 1 week ago

Until the next person with a slightly different mental way of defining things comes along. Or just a future version of you.

[–] mkwt@lemmy.world 5 points 1 week ago (1 children)

But when you do shoot yourself in the foot, it blows your whole leg off.

[–] Lembot_0004@discuss.online 2 points 1 week ago

As a shotgun. That's why people don't shoot themselves in the foot with a shotgun.

[–] marcos@lemmy.world 16 points 1 week ago (1 children)

Yeah, just to say it more clearly: that kind of thing is why lots of people out there insist that operator overloading is a bad idea.

And yeah, it's a C++ thing that mostly doesn't happen in other languages.

[–] TeamAssimilation@infosec.pub 3 points 1 week ago

Sincerely agree. Explicit is better then implicit, that’s a general engineering axiom.

Instead of overloading and making the next maintainer hunt for overloads, a clearly named function that does the critical steps would make the code immensely more maintainable. C++ is C gone wild.

[–] melechric@lemmy.world 8 points 1 week ago

Yes. Sometimes you're limited by the hardware you're controlling. This code is a bit hard to justify with that excuse though. Normally your code would do a read from hardware to see if the value decremented and then repeat the write. (Possibly a sleep/yield in there if required.)