• skisnow@lemmy.ca
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 hour ago

    We’ve had a very recent uptick in engineers submitting PRs of hundreds of lines across multiple files, for Jira tickets that only asked for a one-line change. The engineers involved have been using AI assistants for nearly two years now, but there seems to have been a change in the last month or so in how aggressive the new models are at changing code.

  • JordanZ@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    3 hours ago

    I honestly wish for a PR this size. One of the ones that came across this week was 813 commits, +17K -2K.

    Of the 250 commits that GitHub was willing to show it had 35 other PRs merged into this massive one. Why they thought one giant PR was somehow better I’ll never know.

    Of course…high priority, please review and merge immediately. Like guys it’s gonna take me a week to make sense of this.

    • BlackRoseAmongThorns@slrpnk.net
      link
      fedilink
      arrow-up
      2
      ·
      1 hour ago

      The review process is all wrong if something like this is ever on the table as a single PR.

      Big changes like this were made before, and knowing how to split the work (or at least trying to work it out) used to be part of the job.

      Hopefully, strong unions and worker involvement can remedy this, given we change our work culture to be closer to what projects like SQLITE and FFMPEG have (noting, of course, the fact these are FOSS, and made by volunteers, yet are very dependable), slower and stable development cycle that prioritizes high quality work that people can actually depend on and trust.

    • ragas@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      2 hours ago

      Lol nothing bigger than 250 lines of code goes through at our company without complaints.

    • luciferofastora@feddit.org
      link
      fedilink
      arrow-up
      1
      ·
      48 minutes ago

      It’s a summary of code changes. The green + indicates how many lines were added, the red - how many were removed (though changed or moved lines are counted twice, once as removal for the old and once as addition for the new).

      The OP is supposedly being asked to read and review thousands of lines of new code written by claude. Depending on the language and claude’s writing style, those lines may be very dense and hard to read, but even if they aren’t, reading code you haven’t written is always more difficult than reading your own.

    • khannie@lemmy.world
      link
      fedilink
      English
      arrow-up
      13
      ·
      4 hours ago

      It’s basically saying “insert one ass loads of code in one go, all written by AI”.

    • Supercrunchy@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      1 hour ago

      I fully expect this to become the new normal being pushed by management.

      “We identified PR reviews to be blocking our newfound AI-powered efficiency, so we are now mandating all the reviews to done by AI. Also we figured all the developers are now useless since all you do is ask Claude to solve tickets, so you are all fired”

      I wonder how long it takes for the first high profile disaster happening because of a policy like that.

        • ThirdConsul@lemmy.zip
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          24 minutes ago

          Actually I think it’s doing well? The language to language rewrite is actually a strong suit of LLMs, as long as there is extensive years worth of tests to check rewrite behaviours.

          I don’t have practical use cases for that strong suit though.

          Oh, and bun seems to be dead now with 2.5k open PRs.

          And merge to main takes over an hour

  • yessikg@fedia.io
    link
    fedilink
    arrow-up
    16
    ·
    7 hours ago

    If you can’t be bothered to write your own code, I can’t be bothered to review

  • SubArcticTundra@lemmy.ml
    link
    fedilink
    arrow-up
    51
    ·
    9 hours ago

    The problem with Claude is that it doesn’t write code to be modular & reusable. Every tiny change requires a complete rewrite.

    • veryblandusername@fedinsfw.app
      link
      fedilink
      English
      arrow-up
      42
      ·
      9 hours ago

      I’ve completely banned any code that can’t be explained. I’ve had my CTO send me code at 3 AM to implement and when I ask him what I’m looking at he just says it doesn’t need review, just push it.

      Uhh, no sir, I’m not doing shit because you’ve handed me GCC and we’re MSVC.

      After I bitched endlessly to the CEO about that he said I have final say on what goes into the project.

      • Noxy@pawb.social
        link
        fedilink
        English
        arrow-up
        11
        ·
        7 hours ago

        I’ve had my CTO send me code at 3 AM

        I hope you don’t even respond until your next normal working hours!

          • Noxy@pawb.social
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 hours ago

            that sets a really bad example. you shouldn’t do that to yourself and you shouldn’t allow it to happen to anyone else.

            • calcopiritus@lemmy.world
              link
              fedilink
              arrow-up
              2
              ·
              2 hours ago

              He knows best what’s best for him. If he’s explicitly paid extra to be on call 24/7, and he’s happy with that extra. Let him be om-call 24/7.

              There are situations and jobs where 24/7 availability is needed. Someone has to do it. And if that someone believes he’s getting enough of a compensation for it, there’s nothing wrong with it.

      • veryblandusername@fedinsfw.app
        link
        fedilink
        English
        arrow-up
        4
        ·
        6 hours ago

        It can but I’m not looking to make things even more complicated. We have enough unexplained non-sense in the project as is, having to link it correctly is just endless pain that I don’t want to deal with.

      • Nalivai@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        6 hours ago

        With enough seniour developer’s time and dedication you can spend days and enough water to flood a town, so you can badly maybe do something that a junior dev can do already (your shit will still be worse). If that’s not an achievement of a modern technology I don’t know what is.

  • Solemarc@lemmy.world
    link
    fedilink
    arrow-up
    59
    ·
    10 hours ago

    I struggle to review a 1k line change. When people give me such big changes I normally don’t believe they’ve reviewed them either.

    • Jesus_666@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      7 hours ago

      Try working on a codebase that’s all event-driven hexagonal CQRS with hand-crafted SQL for persistence. Add additional buzzwordy methodologies to taste.

      Adding a single property to your product means you now have to update an aggregate class, several DTOs, and several event classes and handlers before you can even think about touching the UI.

      And that’s in your main solution. There’s also at least one facade service you’ll need to make compatible and you also need to update the event simulator used for testing. The latter night involve having to touch every single line in a 2000 lines long SQL script.

      Having to go though three separate 600-2000 LOC PRs for one PBI isn’t that exotic.

    • Saganaki@lemmy.zip
      link
      fedilink
      arrow-up
      6
      ·
      8 hours ago

      Occasionally I do that…but only because 500 of those lines are my comments explaining everything.

    • kubica@fedia.io
      link
      fedilink
      arrow-up
      66
      ·
      10 hours ago

      // Here I'm not using that other thing that is now completely irrelevant, but I'll leave a comment to the non-existing thing anyway because I'm avoiding it.

        • _stranger_@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          3 hours ago

          The comment:

          # This code does exactly what you asked: Never change state, only fetch the state and return the difference

          the code: hallucinated database table drops

  • einkorn@feddit.org
    link
    fedilink
    arrow-up
    10
    ·
    9 hours ago

    And people were already annoyed when I had ~90 changes due to refactoring and fixing imports …