Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
Normally I start by making empty subroutines, with comments and print statements on what each piece should do. I don't worry about how it looks or how goofy my naming is, but I do try to put it into the flow and order I am looking for.

At the same time, in another file (like a table of contents or a master record), I put the name of the routine and a list of all the places I call it. I ignore certain super common pieces (like my own rolled cgi parser). And usually because I am working against databases, I work on the schemas for the data.

All along I am preparing a list of questions for the client.

Then I'll go through and make scripts, again empty, that are the framework of the real scripts with ridiculous comments. Usually while I am doing this I am adding and modifying the database schema and the subroutines.

Once I have all this schtuff sort of laid out, I go through and format indentation, making the scripts and bits legal (but not necessarily functional). Again, relooking at things means I am modifying again.

It's usually at this point I actually try to run things. Of course nothing actually works but a bunch of now completely inane prints....

So I print the code. And save off a copy. Send the questions to the client.

And go and do something completely different for at least a day.

I have found if I concentrate on something like this, I cannot comprehend the overall flow, but instead focus on the little details, so a day away gives my addled brain a chance to work it through. The printout is nice cause I can make notes on it, without actually sitting down and trying to work out code bits.

Then I go back through it, make whatever changes make sense and print it again.

At this point I start actually adding working code, parts at a time, testing along the way, right on top of all the faux schtuff I have already written out.

Usually I'll spend 10 to 30 percent of my time in the working out the flow phase and sometimes what I end up actually resembles what I started with.

As far as what I do when my code is ummm....disorganized...I deliver something mostly - partially - somewhat - working schtuff usually before schedule, ask for changes, and rewrite using the above method a second time. The second time through goes a lot faster, and I have lots of code to put into place, usually with mostly minor self induced changes.

Usually the before schedule version buys me enough time to make it nice if I have to go over schedule. If not, I apologize and bite the bullet. Fortunately, I get better all the time so these things happen less frequently.

EEjack


In reply to Re: Starting a project and landing between a rock and a hard place. by eejack
in thread Starting a project and landing between a rock and a hard place. by BMaximus

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others surveying the Monastery: (16)
    As of 2015-07-29 13:09 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









      Results (263 votes), past polls