in reply to "if" Considered Harmful in OO programming
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
|
|---|