Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

This is an interesting meditation. I, too, often wonder about and "stew" over my development "process."

Most often, for me, I have as many as 3 different coding tasks in my queue. Sometimes with a couple of more "shelved." But, for me, I am sufficiently compulsive to solve a problem that I rarely can handle more than a couple (may be 3 at most) on my mind. So I'm not nearly as "multi-tasked" as your meditation suggests you find yourself in.

The nature of my work (and the 2 or 3 other folks that I work with) is mostly putting out "fires"...i.e., we find ourselves or our colleagues facing some daunting task and we decide to tackle it. Time is normally "of the essence" and sophistication, ellegance, etc. are largely irrelevant. So we tend to try to solve the problems in the most direct, easy, and easily tested and proved ways possible. That, at least for me, creates the format of my approach.

My approach is simply one of (A) think about the problem for a few days, (B) prototype, quickly, the tough parts, (C) code the solution, and then (D) do final tests of the solution...usually with a lot of debugging and fixing of mistakes.

The hard part for me is normally step (C): coding. The size of our solutions are usually in the realm of a few hundred lines of code and, for me, that normally means about 2-3 days of almost non-stop coding. It is exhausting; and it seems that it consumes my "day job" (which is not normally about coding or implementing solutions...I am a systems engineer who spends most of his time guiding others and handling the politics of our projects).

So these interludes of intense programming are always a bit of a shock to my system and I think the efficiency of my coding suffers because of it...especially during the latter stages of the coding when I'm at my tiredest and my thinking is more dominated by lack of sleep and deprived body.

Recognizing this tendency, I tend to do a lot of module building in the beginning while I'm fresh and then spend more of the latter stages tie'ing them together to form the overall architecture in the latter stages. This works pretty well for me...but the mistakes and challenges that crop up in the latter stages tend to be real "bears!" They generally involve mistakes in the solution's fundamental logic and program flow: even though the pieces are all working correctly. In a tired state, finding the fundamental logic or control errors is daunting. Thank goodness for some good debuggers (especially the native Perl debugger) that allow some pretty methodical flow tracing.

DarkLord1 Looking for Redemption in the Monastery

In reply to Re: How do you code? by DarkLord1
in thread How do you code? by bastard

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2024-03-28 16:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found