• dactylotheca
    link
    fedilink
    English
    19329 days ago

    Doctor of Computer Science

    stringly-typed "100%"

    yeah that tracks.

    • @[email protected]
      link
      fedilink
      12429 days ago

      Calls a static method on the OldMan class instead of the instance of oldMan that is actually dying.

      • David From Space
        link
        fedilink
        English
        62
        edit-2
        29 days ago

        Tonight's story: Every man older than OldMan.getMinimumAge() has been in perfect *unchanging* health for the last few months‽ To find out why, stay tuned! Our experts chime in to help you understand....

      • Kogasa
        link
        329 days ago

        That’s an instance property

          • Kogasa
            link
            329 days ago

            Yeah, properties (like a field but with a getter and/or setter method, may or may not be backed by a field) are PascalCase

            • robotica
              link
              fedilink
              329 days ago

              How is OldMan a property here? It’s clearly the name of a class

              • Kogasa
                link
                128 days ago

                Instance properties are PascalCase.

                • robotica
                  link
                  fedilink
                  128 days ago

                  Yes I know, I’ve coded in .NET before, but so are class names.

  • @[email protected]
    link
    fedilink
    183
    edit-2
    29 days 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

    • katy ✨
      link
      fedilink
      3629 days ago

      OldMan.setHealth(“Robert’); DROP TABLE Students;–”)

    • @[email protected]
      link
      fedilink
      29
      edit-2
      29 days ago

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

    • @[email protected]
      link
      fedilink
      1829 days ago

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

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

    • Fat Tony
      link
      fedilink
      9
      edit-2
      29 days 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 Ⓥ
      link
      fedilink
      629 days 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.

      • @[email protected]
        link
        fedilink
        2829 days ago

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

        • @[email protected]
          link
          fedilink
          English
          1229 days 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.

          • @[email protected]
            link
            fedilink
            1129 days ago

            That sounds like something that should have been caught by QA, integration tests or unit tests long before it was launching balls at ten year olds.

          • @[email protected]
            link
            fedilink
            429 days ago

            yeah every engineer knows you gotta set KidHeadKnuckleballClearance waaay higher than that, it’s compsci 101

        • VeganPizza69 Ⓥ
          link
          fedilink
          3
          edit-2
          28 days ago

          Absolute (cm)

          adding one 0:

          100%, automatically changes unit to %

          (Word table properties)

      • @[email protected]
        link
        fedilink
        429 days 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.

        • VeganPizza69 Ⓥ
          link
          fedilink
          328 days ago

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

          0

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

          Reject operations.

          Use absolute number to remove the minus. Math.abs()

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

          Same result either way, so whatever if branch is first.

          Understand the purpose. If you want to kill the old man with 0, then there’s no point to leaving it as 0.9%, understand the non-linear characteristics of life and death.

          When you’re dealing with the low level functions, sure, you can keep it simple. When you’re reaching the surface of user input, you’re either going to waste time with validation and error reporting, or you’re going to waste time with interfaces that can handle more shit without complaining. There’s no fool proof either way, but good luck pissing users off with endless docs.

          Don’t write your own code just yet.

          If your goal in programming is just to be a traffic cop between the user input and the database, all you’re doing is building a virtual bureaucracy, the kind that people really hate and is easily generated with coding tools. Or you’re just deferring the “smoothing out” burden to the UI developers.

      • @[email protected]
        link
        fedilink
        327 days 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

    • @[email protected]
      link
      fedilink
      627 days ago

      Yeah, he reimplemented it in Java to get garbage collection. The Alzheimer’s is cured but he takes ten minutes to pour a glass of water.

  • @[email protected]
    link
    fedilink
    1528 days ago

    See that’s the issue, he should have tried stopping the cardiac arrest process instead of just resetting the man to the beginning of it

    • @[email protected]
      link
      fedilink
      828 days ago

      Patient HP kept dropping to zero after resetting, but we don’t have budget to investigate why and this was supposed to be worth only 1 story point, so we set up a microservice that runs a job every 200ms to set HP back to 100. So long as nothing shuts down the service, patient should be fine. Marking as Done.

    • @[email protected]
      link
      fedilink
      1
      edit-2
      28 days ago

      Whoops, stopped the lungs process instead of the cardiac arrest process.

      Actually you really want to restart the heart service, right? sudo systemd restart heart

  • moosetwin
    link
    fedilink
    English
    1029 days ago

    I wish there was a last panel of the old guy getting revived, I think it would be funny

  • @[email protected]
    link
    fedilink
    English
    927 days ago

    bash: sudo: command not found

    After all, we don’t know that he has it installed, especially if he’s running a really old distro.