174
// Implement (lemmy.zip)
you are viewing a single comment's thread
view the rest of the comments
[-] Lembot_0004@discuss.online 40 points 2 days ago

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 2 days ago
[-] Lembot_0004@discuss.online 6 points 2 days ago

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 20 points 2 days ago

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 2 days ago* (last edited 2 days 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 14 points 2 days 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 2 days ago

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

[-] Lembot_0004@discuss.online 2 points 2 days ago

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

[-] marcos@lemmy.world 16 points 2 days ago

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 2 days 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 2 days 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.)

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

Programmer Humor

25448 readers
1006 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