Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re^2: TDD of non-module code

by davies (Prior)
on Jan 26, 2012 at 20:08 UTC ( #950212=note: print w/replies, xml ) Need Help??

in reply to Re: TDD of non-module code
in thread TDD of non-module code

I don't know what #ifdef does. I suspect it's something to do with C, but unless someone replies saying how it can be emulated in Perl, it doesn't matter. However, I don't see why modules are the only way to isolate functionality. The code I have written is in quite small subs, meaning that the tests that are in the same file are able to test isolated parts. I have, as I mentioned in my OP, extracted some routines to modules and will continue to do this wherever practical.

Unfortunately, as far as decoupling goes, there are some things that just have to be sequential and coupled. You can't read from an Excel file until you have opened it and you can't do that until you have created an Excel instance. So, while the subs are individually small with only one entry and exit, executing them before their predecessors is implausible. I'm instinctively keen on separating such code that must be coupled from code that need not, and which is in modules already, so if there are arguments against the command line switch approach, I would like to understand them.

You may be trying to warn me against Moritz's suggestion. If so, please would you be more specific? I haven't tried working out how to implement that yet and would prefer not to try something impossible.


John Davies

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://950212]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2020-10-29 22:25 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (274 votes). Check out past polls.