← Back to context

Comment by julianlam

15 days ago

I always thought it was a little weird that LLMs aren't sophisticated enough to surgically edit files as needed.

For example, if there is a code block that needs to be wrapped within another function call, it'll rewrite the entire function call and you'll just have to pray that the re-written code block wasn't subtly changed.

I _think_ so far it hasn't introduced any changes....

You can just look at the diff when you do a pull request, no prayer needed, and if you want it to be “surgical” in that way, your prompt (and agents.md) can be specific.

You can also unit test the function to better assure behavior didn’t change.

  • Indeed, that's what I do. I inspect the diff, though if it's an indentation change the entire block will be marked changed.

    Still not an excuse to not read every line of course...

    Unit tests give me the confidence that at least those tested logic paths are unaffected.

    Sometimes with older codebases one cannot assume the paths have adequate test coverage.

    • Many diff tools, such as delta (https://github.com/dandavison/delta) and the ones built into VS Code and IDEs by JetBrains, can configured to highlight changes within each line (by word) and ignore changes to whitespace. Those features save me a lot of time when I review diffs that include indentation changes or variable renames.