• auzy1@lemmy.world
    link
    fedilink
    arrow-up
    4
    arrow-down
    2
    ·
    24 hours ago

    Yeah. Pretty much.

    The actual policy is that it all gets reviewed by a human I think when I was looking into it.

    The bots are likely most useful to reject obviously bad patches which have obvious bugs or don’t follow guidelines. And identifying bad code is something which AI tends to be good at.

    In our code at work, we use weakly typed languages which aren’t strict and on those it tends to be even better. We catch things like table keys that are typed wrong, etc. On C, things like pointers it probably does a good job with identifying as wrong

    If it passes AI code review it still gets checked by human for things that are wrong and needs fixing. But if it fails, it probably needs fixing regardless.

    • Ghoelian@piefed.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      24 hours ago

      A good language server / ide will also complain about incorrect types. That specific example is a deterministic process, no llm is required for it at all.

      • auzy1@lemmy.world
        link
        fedilink
        arrow-up
        2
        arrow-down
        2
        ·
        23 hours ago

        We do use one. But, in practice, they can’t catch a lot of things which AI will

        At least in our case too based on what’s available, it also can’t check stuff like coding style well (but our development relies on that less).

        Some might though

        • Ghoelian@piefed.social
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          2
          ·
          14 hours ago

          I find that very hard to believe, if you’re truly just talking about typing. If this is true you’re using an awful language server / linter / whatever.

          Coding style is also a deterministic process, for which every widely used language has a linter or formatter or whatever. Also no LLMs needed.

          As a professional software developer of 8 years, I honestly have no idea what you’re talking about

          • MangoCats@feddit.it
            link
            fedilink
            arrow-up
            1
            ·
            2 hours ago

            The thing about typing is that it is easy for a deterministic compiler to flag violations.

            There are hundreds of other “best practices” that determinisitic compilers aren’t able to flag. Even the almighty Rust language is suceptible to race conditions, deadlocks, and many potential crash conditions.

            I’m an old C programmer, and Rust pisses me off when it won’t let me do something that’s demonstrably 100% safe. However, a lot of the things that Rust and other general practice rules forbid or advise against, should really be avoided when they get past a very simple application. What was “proven safe” quickly becomes unsafe when a later maintainer who doesn’t understand the risks “extends” the code.

          • auzy1@lemmy.world
            link
            fedilink
            arrow-up
            2
            arrow-down
            1
            ·
            14 hours ago

            This is Lua code. LuaLS is basically the language server available.

            And sorry, I should have said “dynamically typed”. But, weak tables.

            There’s a lot of things that don’t get caught, such as concatenating a boolean which causes a lua error in our environment. LuaLS won’t catch that.

            Formatting isn’t a problem for us, but it does affect the kernel. But, the VSCode one we use does a lot of weird things honestly.