http://qs321.pair.com?node_id=439149

strategy monks,

This weekend I indulged myself in a programming exercise with a difference. Usually, as I program, I keep on testing. So, for example, if I am making a web-based app, I will write a bit of code, load it in the browser and test it, fix it if needed, and then go forward. Call it my "training wheels."

Except, this weekend I worked without any training wheels. I wrote the entire app (was up till some horrendous hour) and didn't test it even once. Of course, when I finally tested it, I had many errors to fix. However, that got me thinking -- just like in a real foreign language class for English speakers, English is not allowed at all, will it make me more careful and better at programming if I don't use any training wheels?

I am a relative noob at Perl, so I seek advice and ministrations from wiser monks. How do you go about it?

How do you write a lot of code while making sure that each smaller component piece is bullet-proof?

Update: I realize that "no on-going testing" in the title goes against the spirit of my final question above. The only way to write a large body of error-free code is to write and test lots of constituent small bits of code. I guess, by testing I hint more at the constant "load in the browser and let Perl complain and tell you what is wrong instead of preemptively not writing what is wrong in the first place."

--

when small people start casting long shadows, it is time to go to bed