This smells very similar to the issue of writing C-style code in Perl. (Or Java, COBOL, Fortran, etc). You can always tell the language someone is more comfortable in when they're writing their first Perl project. for (my $i=0;$i<=$#array;$i++){ &foo($array[$i]) } anyone?

Imho, explicitly testing should almost always at the boundaries of any system. When I parse the XML template for PDF::Template, I have a lot of if-statements that treat the class structure as an open book. However, once I've got the data structure translated into a tree of objects, I can traverse that tree able to depend that each class will DWIM. This is because I've defined exactly what the hooks each node can use should be in the rendering process. The actual processing engine (Controller) should always be able to depend on the tree of objects (Model) to do the right thing. Of course, I cheat and use a $context object to maintain state and make intelligent decisions. (View? It's more of the stack/heap, now that I think about it.)

But, yeah, I know what you mean about the small classes. Many of the classes in P::T are well under a hundred lines, including comments. Excel::Template averages under 30 per node class, for this very reason.

------
We are the carpenters and bricklayers of the Information Age.

Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

I shouldn't have to say this, but any code, unless otherwise stated, is untested


In reply to Re: "if" Considered Harmful in OO programming by dragonchild
in thread "if" Considered Harmful in OO programming by Ovid

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.