• Tiefling IRL@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    6 months ago

    Stuff like this is really useful when variable names are long or annoying, or when you have to repeat the same pattern over a large batch of code. For example, refactoring feature flags.

    My favorite use of AI in code so far has been removing deprecated feature flags. “Replace enableXYZFeatureFlag with true and optimize the code”. Bam, 1-2 hours’ worth of crunch work solved in minutes.

    • Kache@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      If it takes 1+ hours of work to remove a feature flag branch in an area of code, I wouldn’t trust the correctness of anything the AI writes and would be super skeptical about anything the humans had written.

      • Tiefling IRL@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        6 months ago

        It takes a long time because it hits a lot of files, not because it’s logically complex. Also, that’s why unit and integration tests exist.

    • BurningnnTree@lemmy.one
      link
      fedilink
      English
      arrow-up
      0
      ·
      6 months ago

      Can you please describe how you do this? I thought Github Copilot can only make changes to the currently open tab? It’s been a few months since I’ve used it, and I’ve only used the Visual Studio version, which I think isn’t as good as the Visual Studio Code version. Has Copilot already gotten to the point where you can tell it to make changes to an entire codebase?

      • Tiefling IRL@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        6 months ago

        I do go file by file, but I just copy and paste the same query into each. It also gives me a chance to do a quick review before moving on. It’s still a manual process but it’s a HELL of a lot faster than manually refactoring.

        (I can’t give too many more details though since I use proprietary software that isn’t public facing)