3 ms·
So one of my thoughts is maybe AI makes this more viable. You continually refactor the code base. Often when you start something you do not know the correct abs
by spacemanspiff01 2mo ago
So one of my thoughts is maybe AI makes this more viable. You continually refactor the code base. Often when you start something you do not know the correct abstractions anyway - so vibe-code it.
Then once you have the kinda-sorta prototype, do a full rewrite, try to do component modules with interfaces.
(maybe do multiple rewrites depending on architecture complexity)
Then incrementally improve the software quality of each of the components.
---
My thesis in this is that the cost of a refactor has dropped precipitously, LLMs are really good at doing translations, and are pretty good at finding good abstractions if you work them a bit. It is also much faster, becuase in your refactor you try and focus on the big picture and interfaces, and yolo the components... Make sure that they work, but if there is a particular edge case you can fix it later.
I don't know for sure, but I am testing this out and am halfway through a rewrite of a large project into rust from c++ (second step from above) - I am mostly vibe-ing the components, But am paying a lot of attention to the interfaces and layout.
- theshrike79 2mo agoThis is what I've observed too in actual real life. Massive refactoring operations that would've never been scheduled, because they would've needed a senior programmer allocated to it for at least a week can now be done to ~80% completion with a good prompt and an LLM in an afternoon. then the senior dev only has to spend maybe a day or two in the final 20%, mostly confirming that nothing was missed.