I’m sure you know by now that a significant amount of code being written is being done through AI tools. You might be building this way yourself.
But I’m betting (hoping) you’re still reading the code it produces. Maybe importantly, reading it within the context of the surrounding code and not just within a diff.
Some have said that we’ll no longer need to read the code either. We’ll spend all of our time writing specs and/or tests to verify the behavior. No one’s really there yet though.
When will we get there? And should we? I can say that I’ve already done this before, in inimportant one-off scripts, in single purpose side projects that I don’t expect much, if any, contributions for.
But would I do this in “serious” work? Would I do this in Astro? No, if not because I’m concerned about code quality, then certainly because I would feel embarrassed at the questions from reviewers if there’s something off about what I submit.
Your name is still attached to the work. Your AI tools are to some extent just the text editor you’re using. That doesn’t remove your ownership over it. You’d never say, “sorry about the bad code, it’s because I was using Sublime.”
But maybe this embarrassment is the only thing stopping us from letting go and embracing the slop. If there weren’t the threat of embarrassment, I might just let it ride, confident in test suites to temper down the bad code.
Once we all let go, maybe we’ll let go of being judgmental on things like code conventions or even architecture. Everything important can be verified; functionality through testing, performance through benchmarks. If AI slop is hitting your benchmarks does it even matter that it’s doing an unnecessary inner loop?
Embrace the slop.