Remix.run Logo
sunshowers a day ago

This whole week I've been dealing with incidental complexity created by shortcuts taken and edge cases not handled in code written in the before times, both in mine and in others'. I realized at some point yesterday that these kinds of shortcuts would no longer be accepted with competent LLM use.

b40d-48b2-979e 17 hours ago | parent [-]

    I realized at some point yesterday that these kinds of shortcuts would no longer be accepted
    with competent LLM use.
What a load of bullshit. LLMs cut corners constantly and only handle the happy path.
sunshowers 16 hours ago | parent [-]

Right, when used incompetently. When used competently they can carefully reason through every edge case and flag things no human would have picked up on.

One example: in some old code I wrote I had assumed that the Rust Hash impl for a type is stable over time. This is not the case in general, but writing a custom hasher for a complex type is incredibly annoying, so I took that shortcut. That was fine for years, but came back to bite me this week as I was trying to update a dependency.

How much incidental complexity is due to that kind of thing? An LLM code review would flag this instantly, and one would also write a stable hash function for you.