• Fades@lemmy.world
    link
    fedilink
    arrow-up
    82
    ·
    edit-2
    3 months ago

    WHY IS THE HEALTH INPUT PARAMETER A GODDAMN STRING???

    Why are you passing ‘%’ inside said goddamn string?!?! Not to mention the static reference instead of the actual instance.

    Shame on you

    • lud@lemm.ee
      link
      fedilink
      arrow-up
      11
      ·
      3 months ago

      It’s not his fault the world is made this way.

      He just has to follow it or else that man dies.

    • blind3rdeye@lemm.ee
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      3 months ago

      I guess its just a reminder that getting a PhD is often more about dedication than it is about practical knowledge.

    • Fat Tony@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      3 months ago

      Honestly, if someone were to try to safe my life. And I find out he uses a string as a parameter to do so. Just let me die right there.

    • VeganPizza69 Ⓥ@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      3 months ago

      The high level setter function should be made to handle both string and numeric values.

      If it contains “%” it’s a percentage value.

      If it’s a string without a “%” it’s an absolute value and needs to be normalized.

      If it’s a numeric value, it’s an absolute value.

      If it’s a numeric 100, it’s 100%.

      If it’s a subunitary numeric value, it’s a percentage.

      • sandbox@lemmy.world
        link
        fedilink
        arrow-up
        6
        ·
        3 months ago

        yeah I’m gonna go ahead and reject your PR, please change this function to accept a decimal value between 0 and 1

        • ChickenLadyLovesLife@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          ·
          3 months ago

          Ironically, the worst thing I ever saw a coworker do was to change a function that accepted an Integer value between 0 and 32767 to one that accepted a Float between 0.0 and 1.0. Perfectly sensible change except that it resulted in a 120 mph knuckleball fired a foot above a 10 year old kid’s head, followed by a fist fight between the client and my boss.

      • Skates@feddit.nl
        link
        fedilink
        arrow-up
        1
        ·
        3 months ago

        Oldman.setHealth(“dicktits”); //normalize pls

        Oldman.setHealth(“-100±1%”); //make percentage pls

        Oldman.setHealth(0.0); //it is subunitary, but undefined behavior - will it access the ‘numeric value’ overload, or the ‘subunitary numeric value’ overload?

        Don’t write your own code just yet.

      • Fades@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        3 months ago

        Yes absolutely, the parameter even if not in a strongly typed language should be a specific number and the unit should be implied. Overload the method to support different units if necessary or provide a unit as an additional parameter instead of forcing the method to parse the string for any unit type hints that may or may not be there