in reply to Go with the flow?
Any program where you can't comfortably remember every aspect of it straight away, basically anything that isn't a short straight procedural routine, is a good candidate for some kind of design.
If it involves more than one programmer, one of the established methodologies is probably best--UML or even the dreaded SSADM for really big things--but if it's just you, you can pretty much make up your own system, as long as it makes sense to you.
Always best to have at least a basic design before you even start tho', especially if you're using OO.
As a programmer, this annoys me as I'm itching to code, but I can assure you from bitter experience, the amount of time you waste when you don't plan ahead (especially with a forgiving, easy-to-code language like perl, where you can code for miles without stopping to look back over things) is way more depressing than having to sit down with a pen & paper when you want to start typing.
|
|---|