I see YAGNI as a sort of defense against creeping featurism, where programmers add all sorts of bells, whistles, and symphony orchestras because they're almost "free". Just a few more lines of code, and you can have it sing "Yankee Doodle" in Urdu. Or whatever. The temptation is to make it just a little better, just one more little drinky-winky, until the whole thing gets to be so encrusted with features it collapses under its own weight.

What you're doing, though, seems more like defensive programming, taking into account your previous experience. For some things, chances are you *ARE* gonna need it, and so you might as well put it in where it takes the least amount of reworking.

I think a lesson here is that rules have their uses, but blindly following them may not be a good idea. I think it would be a good idea to follow YAGNI in the sense that you try not to make the program do absolutely everything; but you also include a few items that are likely to become needed in the future. It's a matter of experience and personal taste, I'd guess, but it seems to work for you.


In reply to Re: Well, maybe you ARE gonna need it? by spiritway
in thread Well, maybe you ARE gonna need it? by Tanktalus

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.