← Back to context

Comment by dsego

3 days ago

I don't know, sometimes I feel like I've been misled, I come back to the code that was generated, I find so many bad choices, claude never subtracts, it keeps piling on new code. Some minor things get declared as unbreakable rules, regardless of context. It memorizes the tiniest exception as some big decision and all new code follows those new rules it made up. Good luck cleaning up all the nonsense to all who just vibe coded their apps. It has to be steered constantly, if you care about understanding the code that is. The LLM will happily use gibberish variable names, long functions that mix responsibilities, inconsistent code style and so on. Give it a prompt to review the code over and over again, ten times in a row, it will always find something, that one race condition that wasn't handled, or it will warn about something that is clearly not important, but it won't realize that it showed rendering code into the core logic component. It can fix it once it's pointed out, it's good for refactoring and doing sweeping changes across the codebase, but it's better to be on top of things, because it can lose its way behind your back.

This has been exactly my experience so far, regardless of the model. A developer knows when to stop and ask questions (colleagues or stakeholders). Claude just keeps going and doubles down on its own interpretation.

For me, the biggest benefit is being able to produce an initial POC that I can learn from before writing my own code. And, as you pointed out, it’s also brilliant for refactoring work.

Claude absolutely subtracts if you ask it to. I just regularly ask it to look for simplifications and YAGNIs and give me a ranked list of them, some of which I get it to do.