• Lembot_0004@discuss.online
    link
    fedilink
    arrow-up
    41
    arrow-down
    1
    ·
    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.

    • marcos@lemmy.world
      link
      fedilink
      arrow-up
      16
      ·
      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
        link
        fedilink
        arrow-up
        2
        ·
        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
      link
      fedilink
      arrow-up
      8
      ·
      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.)