• Someonelol@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    10
    ·
    4 hours ago

    I’m living this right now. The lead programmers are long gone for a setup that uses Python, C++, and Linux. The only other guy who knows it is pulled to three other projects and I only have a C++ class taken over 15 years ago under my belt. I’m somehow expected to decipher this shit and explain the function of a few dozen variables and it’s going as well as one might expect.

  • jubilationtcornpone@sh.itjust.works
    link
    fedilink
    arrow-up
    34
    ·
    8 hours ago
    /*
    By all accounts, the logic in this method shouldn't work. And yet it does. We do not know why. It makes no sense whatsoever. It took three weeks and numerous offerings to the programming gods, including using one of the junior devs as a human sacrifice, to unlock this knowledge. DO NOT LET HIS VIOLENT AND UNTIMELY DEATH BE IN VAIN! Touch this at your own peril.
    --jubilationtcornpone 12/17/25
    */
    public async Task<IResult> CalculateResultAsync()
    {
         // Some ass backwards yet miraculously functional logic.
    }
    
      • Klear@quokk.au
        link
        fedilink
        English
        arrow-up
        23
        ·
        7 hours ago

        Why the fuck would I do this? This is nonsense. This way is way better.

        *half an hour later, when I run into a major, strangely familiar bug*

        Ooooohhhh!

    • MotoAsh@piefed.social
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      5 hours ago

      Nah. No code actually documents itself. Ever. Anyone who says they can is an idiot that doesn’t understand the purpose of comments and docs.

      Code can never describe intent, context, or consequences unless you read every line of code in every library and framework used, and every external call. Especially if they aren’t doing “fail fast” correctly.

    • SeductiveTortoise@piefed.social
      link
      fedilink
      English
      arrow-up
      21
      ·
      9 hours ago

      I inherited a code base probably written by a squirrel, and the first thing I did was to write documentation on infrastructure, business logic, architecture, deployment and whatever. I had to read everything anyways, because the guy handing it over had no idea what it did and left the company shortly after. It’s fine now, but that path was horrible.

  • RedFrank24@piefed.social
    link
    fedilink
    English
    arrow-up
    49
    arrow-down
    1
    ·
    10 hours ago

    The only times I’ve seen devs do inline comments in their code is when it’s been done by AI, and I can tell it’s AI because the comments are all useless and describing what’s happening, not why.

    • Eiri@lemmy.ca
      link
      fedilink
      arrow-up
      42
      ·
      9 hours ago
      // Format user object
      function formatUserObject(user) {
      

      I’ve seen lots of such crap written by humans. I guess AI had to learn it from somewhere.

      • definitemaybe@lemmy.ca
        link
        fedilink
        arrow-up
        3
        ·
        4 hours ago

        I actually got really clean, well commented code from Copilot earlier this week.

        I have no experience with JavaScript to speak of, but realized a Bookmarklet would be a perfect solution for reformatting a particular arcuate for printing. I already had a head replacement with CSS to do all the formatting, and I was using a RegEx to strip all script tags.

        Anyway, I asked Copilot to write the Bookmarklet to replace the header, with full contents explaining the training behind the code, and an explanation of how the script functions below. When I got an error, I asked if to fix the error and or identified that Bookmarklets work better as single lines, so it fixed it. Then I added the requirement about replacing scripts, and it did that too, but for commented and a clean one-line version.

        The one-live versions even up getting truncated, so I need to copy/paste from earlier (correct) endings, but otherwise it was an incredibly smooth experience.

        I spent longer writing the guide for how to use it than the time it took to vibe code it and test it. I was super impressed.

        (Granted, that’s a pretty easy coding task…)

        • Clent@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          2
          ·
          3 hours ago

          no experience with JavaScript to speak of

          You claim no JavaScript experience, declare confident in the comments and include any examples.

          All you’ve really said here is you vibed coded a solution to a problem using one of the most common languages without knowing the language. And made claims you do not attempt to prove.

      • Thorry@feddit.org
        link
        fedilink
        arrow-up
        13
        ·
        9 hours ago

        AI mostly learned it from programming tutorials and things like documentation and Q&A forums like StackOverflow. People often add comments in those cases to explain to somebody not familiar with code what is happening so they can learn from it.

        In actual code written by people who write code for a living I’d hope the comments are much more useful and usually not as prevalent.

      • tauonite@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        30 minutes ago

        I once tried vibe coding a web app using GitHub Copilot. That motherfucker wrapped every single endpoint with

        try:
            ...
        except Exception:
            return "An error occurred"
        

        What the fuck is wrong with you Copilot? This piece of shit trying to hide all the errors. If I don’t know there are errors then there aren’t errors

      • Thorry@feddit.org
        link
        fedilink
        arrow-up
        19
        ·
        edit-2
        9 hours ago

        // 🤦 You are totally right! Simply logging the 🚨 error to the console isn't proper error handling. 🫣 We now throw an exception instead. throw new ApplicationException(error);

    • nogooduser@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      ·
      9 hours ago

      I sometimes suspect that I am actually an AI. I’ve always struggled with captchas and I comment my code exactly as you’ve just described.

      • vrek@programming.dev
        link
        fedilink
        English
        arrow-up
        4
        ·
        4 hours ago

        Proper comments describe why… For example say you are using an api which requires guids and your application doesn’t care are collisions as much so just use int id’s.

        You could add in a comment like

        // creating a guid to interface with special api.

        But just saying

        // generate guid

        Means nothing, your method should be generate_guid() or GenerateGuid(). Your comment is repeating.

        Or this is probably going to hit my last company at some point, there was a system to read a serial number. They also wanted a “status” on the screen to verify the system was connected and running properly but both these values came over same signal wire. Depending on your exact ms timing sometimes you would read the status as the serial number. Another programmer wrote a check to verify the serial number did not start with OK. The comment added was

        // add on 11/15/23 by Initials

        With no other details. The serial numbers were 8 numeric digits. Someone won’t know the history and delete this seemingly useless check and cause a 10s of 1000s of dollars in loss

        • anomnom@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          4 hours ago

          I used to write it all the steps I thought I’d need as these types of comments, then go back and write the real methods. But I usually replaced the comments with more detailed jsdocs style comments with as much detail about the parameters as returnvalues as possible.

          Then I quit web dev and moved to the woods.

    • MonkderVierte@lemmy.zip
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      8 hours ago

      I do add a invocation comment to my shell functions. Because parsing what is happening why, is so much more effort the next time i touch it two years later. Despite the code being as clean as possible.

    • SleeplessCityLights@programming.dev
      link
      fedilink
      arrow-up
      7
      ·
      9 hours ago

      I started writing a giant note. On the last day in the morning I start it and add anything that I need to do after the break to it. These are very highly detailed including line numbers ro point me at the exact spot I need, names of bookmarks for reference, page number on documentation, anything that is going to unfuck the morning of the first day I come back.