But if the codebase is large enough, and if you don't have tests for everything, you'll likely lose stuff along the way. So you'll then spend at least another day tidying up the rewrite, just getting it back to where you were two days ago.
Does that sound like fun? Wouldn't it be easier to just plan it correctly the first time?
Some apps don't care about scalability and performance but many do. Ignoring architecture all but guarantees inefficient, wasteful software.
This is not true for everybody or for every project. Sometimes it’s about the code and not about what it does. Sometimes it’s about learning. Sometimes it’s about the fun of creating. “Only the end product matters” is a narrow view of the world of software development.
For example is unknowingly writing a security flaw ethical, when you could have used a set of processes to reduce them before release that would have make the entire thing take longer and cost more. Seems like programmers need a lot more ethics classes as ethics are part of any large scale process.
Besides, ethics come from upbringing and social influences, not from attending a mandatory ethics class.
LLMs benefit from abstractions for the same reasons that humans do. More information in the same amount of text. Fewer working parts to juggle so fewer ways to make mistakes.
Similar to the output of a compiler. Nobody (with very few exceptions) reviews its machine code output. No reason to do that. If you want to change it, just recompile.
(I don't share this view, but I think a substantial and growing fraction of folks does.)
I'll create a simple "framework" of what I know works. After that's there the LLM is fantastic.
But why would you care when an AI can just rewrite it? Yes, but can it rewrite it to a good architecture? Or just to a different one?
Does a good architecture make code easier for an AI to maintain? I don't know, but I think it's at least not proven that it doesn't.