It's better to have something running now, even if it's not perfect, than to have something perfect that doesn't run until later. You can always improve it later, if you need to. [Emphasis mine]

I can't agree more strongly. It is not any good writing code without having the ability (fortitude? strength of will? maybe some other words fit here too) to change it later. Code (and its design) is fluid, and dynamic. Trying to set it in stone on the first try is surely going to cause problems later.

I think many people are afraid to make major changes to their underlying code, though. They fear causing new bugs. This is a legitimate fear, and definitely should be considered. My favorite way to decrease the fear is by having a good test suite. Having that safety net there to make sure the API is followed according to docs -- even when there are major changes made underneath -- is a very reassuring thing.

Of course, a bad test suite might give a false sense of security, but that's another post altogether. :-)


In reply to Re^2: Design opinion, configuration inheritance by revdiablo
in thread Design opinion, configuration inheritance by naChoZ

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!
  • 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:
    & &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.