I've been "Vibe-TDDing" all afternoon and I'll tell you what, vibe tests are better than no tests.
And so long as you have some decent-to-solid understanding of coding and testing (this is non-trivial, I've been coding for professionally for ~20 years) then you can direct the machine to put up decent guardrails first, and then you can kinda go nuts and let shit grow, prune it back, repeat.
Basically, if you know what code/tests ought to look and act like, then you can significantly reduce the negative externalities of having LLMs do your coding for you.
Yes, agreed. I just ressurected an old code base that I had never finished, as I really couldn't be bothered to test it properly. It would have been several weeks or even months doing this thankless task in my spare time, so wasn't going to happen.
Just for fun, I asked the AI assistant in IntelliJ (free trial) to write most of the tests for me. I was actually blown away. The tests were largely really good. In many cases they were more thorough than I would have bothered with. Even when it didn't manage to write good tests on its own, the AI complete as I was writing them myself was incredibly useful. Most of the time it would predict the line I was going to write next, just press tab to accept.
I did have to review the tests, and there were a few minor mistakes I had to correct. The entire process took about 4 hours - and I was trying it out for the first time.
So this is a massive time saver for me, and lets me take on coding in future I would simply not have had the patience to complete.
I think it comes down to the fact that LLMs are powerful tools but just like a really good saw can be extremely helpful to a talented carpenter to an untrained person it useless unless they actually learn to do the job
And so long as you have some decent-to-solid understanding of coding and testing (this is non-trivial, I've been coding for professionally for ~20 years) then you can direct the machine to put up decent guardrails first, and then you can kinda go nuts and let shit grow, prune it back, repeat.
Basically, if you know what code/tests ought to look and act like, then you can significantly reduce the negative externalities of having LLMs do your coding for you.