The other day I inherited a repo from someone that left the company. The first one to be almost fully vibe coded.
It's horrible. It's over engineered in every way. It follows a completely different pattern than the other repos. It adds 10 CLI options that don't have any use (why does Claude add --threads to everything). It's impossible to follow the flow of the code.
Of course, days after I inherited it, it broke so good luck to me fixing it I guess
Ironically, my first thought was how quickly this might be able to be re-written, in a sane way, …with the help of an LLM.
I find that if you pay a lot of human-in-the-loop attention to the design phase, LLMs can produce perfectly decent stuff.
They’re also good at writing tests. Lock in the (non-broken) behavior of the old app with tests. Then use those tests to re-create the app, except with a talented engineer (you) guiding the design this time.
I mean, I'm going to rebuild it. But with just a light AI usage. The point I'm trying to make is that. Ok, AI may have saved time coding it the first time. But building an unmaintainable codebase is going to make you pay that time back with interests
That's not true at all. One thing is not understanding the language in which it was written and a completely different one is that even though it was coded in a language that I have proficiency in, the code doesn't make sense. It's just poorly engineered
It's horrible. It's over engineered in every way. It follows a completely different pattern than the other repos. It adds 10 CLI options that don't have any use (why does Claude add --threads to everything). It's impossible to follow the flow of the code. Of course, days after I inherited it, it broke so good luck to me fixing it I guess