Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Starting a Large Project

by Phaysis (Pilgrim)
on Feb 12, 2002 at 03:33 UTC ( [id://144776] : note . print w/replies, xml ) Need Help??

in reply to Starting a Large Project

I am going through something quite similar. I have a personal project, and it is, to me, rather large. Yes, folks, it's Yet Another Perl Database-Driven Web Templater.

I've been planning, dreaming, and mucking-about with this thing for over a year now and it's now time to do something about it. I've divided my code into modules, chunks, and units based on general, generic functionality (note: keep your options open: use generic functions; this will give you building-blocks for more complex functionality later). I've finally gotten the dataflow, object linkage, and program flow straightened out and down on paper and whiteboard, posted for quick reference, and this is a Good Thing. It helps immensely.

Now that things are planned out and chunked into smaller bits (one module for getting the request environment, one module for templating, one module for logging, etc.), I can begin working on each part in order of most-independent to most-integrated. For each module I build, I'm using test scripts and doing unit testing to make sure the functionality, logic, and conformance to normal and strange cases is as I need (a working directory filled with test scripts is nothing out of the ordinary). So, after about a week of making steady headway on this project, I'm seeing the light at the middle of the tunnel, with overall testing, debugging and profiling on the other side. The Big Green Light at the end of the tunnel is always in my mind, but I must keep it in perspective and go towards that goal. Baby steps, man.

Most of the suggestions listed here are top-notch suggestions, and worthy of getting into hard copy. Personally, I'm glad that you asked, defyance. I too needed some validation to the copious steps I was taking on my own project. I suppose a nice side-benefit to working on your own Large Personal Project is that you sign yourself off. Y'know?

Best of luck, one and all.

(Ph) Phaysis
If idle hands are the tools of the devil, are idol tools the hands of god?