Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Starting a Large Project

by Phaysis (Pilgrim)
on Feb 12, 2002 at 03:33 UTC ( #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.

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

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://144776]
help
Chatterbox?
[ambrus]: Corion: as for that, I talked with schmorp, and looked a bit more at Prima
[ambrus]: Corion: from the docs, it definitely looks like it would be possible to write an AnyEvent driver for it using Prima::File and Prima::Timer.
[ambrus]: (I haven't found an idle event.)
[ambrus]: However, I also looked at the internals, and found two interesting things:
[marto]: stupid xpath question, I have a xpath copied from the browser, is the * wildcard supposed to work for IDs? e.g. '//*[@id="*"]/ div/div/header/p/a '?
[ambrus]: The main loop for unixish systems is in https://metacpan. org/source/ KARASIK/Prima-1. 49/unix/apc_app.c. It is a hand-rolled select loop, but also always spins at least once every 0.2 seconds for some reason.

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (8)
As of 2016-12-08 10:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (140 votes). Check out past polls.