I find that past a certain size, even exploratory code base benefits from having tests. Otherwise, as I'm hacking, I end up breaking existing functionality. Then I spend more time debugging trying to figure out what changed.. what's your experience when it comes to more than a few hundred lines of code?