I find it virtually impossible to believe that your
spec will never change and you know up front that changing
circumstances will never cause you to need to modify your
program. The real world simply does not, in my experience,
work out that way. Nor do I know anyone else for whom it
works that way. (Well I do know of exactly one widely
used program which is no longer being modified in any
way, shape, or form.)
Therefore if you wish to avoid digging a pit for yourself,
I strongly recommend starting with the opposite assumption.
Assume that your program will change. Assume further that
you don't know how it will change. With these two
assumptions you should now see the benefits of trying to
modularize the internals of your program as much as
possible. Break it up into functions. Make each function
do one thing. Make the name of the function say exactly
what that function does. Avoid globals. Use strict.pm
to remind yourself of globals you might have missed. So
on and so forth.
If you do this, then you will be ready to face the
inevitable point where reality meets your optimistic hope
that you can just write your program and it will really,
truly, be done.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
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, details, 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, summary, 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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.