3 ms·
It is surprising that the author don't mention a very important point: you want to be able to modify your tool quickly to adapt to the evolving world. That's a
by cauch 9mo ago
It is surprising that the author don't mention a very important point: you want to be able to modify your tool quickly to adapt to the evolving world.
That's a strong reason we want modular, concise, clean code: because tomorrow, we will want to solve a slightly different problem, and if you have a nice clean base, you can reuse it. If you don't, you need to rebuild from scratch (which may not be a problem with vibe coding) and rebuild the trust that the new tool is doing what it is supposed to do (which is a problem).
- candiddevmike 9mo ago> rebuild from scratch (which may not be a problem with vibe coding) I've thought about how I could possibly vibe code from scratch something I've built and I just don't think it's possible. So much of the API contract and UI behavior is implicit that there is no way you could clone it without missing edge cases. And that's assuming the prompt is take this code and do X with it. Starting from scratch, like blank slate... Impossible. You simply can't adequately describe a sufficiently complex app in natural language well enough to get a perfect copy. You'd have to detail every business rule, every quirk, everything that makes your app work. Try and condense the hundreds, thousands of tickets and bug reports into prompts. Folks hedging on GenAI just constantly rewriting from scratch when they declare technical bankruptcy are in for a rude awakening (and tons of bugs).
- wvenable 9mo agoThe only reason AI can do anything good is that it's been trained all this clean, modular, and well designed code. What happens when it stops existing? Even in my own use of AI, letting the AI get away with shit code means that it continues to do a worse job. When it sees examples of good code, it does better. What happens when there's nobody at the wheel?
- vorticalbox 9mo agoThe problem is that “clear”, “modular”, “well designed” and all pretty abstract ideas. I personally like builder style when doing oop new Client().withTimeOut().ignoreHttpErrors() Not everyone would consider that clean when using it in your code base. And let’s face it all code has hacks and patches just to get it out before the deadline then there are more things to do so it will just stay that way.
- wvenable 9mo agoThat might be true. But unclear, non-modular, and poorly designed is actually much easier to identify. I don't know if I like the builder style; I could go either way. But if I saw that, I'd still consider that clear and well designed. But I've seen some truly ugly code from both people and AI.
- cauch 9mo agoBut same is true about "good food": some people will prefer some specific food and someone "good food" may not be the taste of someone else. And yet, it would be ridiculous to pretend that we cannot say that there is an advantage in avoiding cooking a dish made with dirt and toxic waste. The fact that we cannot define an absolute objective "good food" is not at all a problem.