[rspec-users] Do you still Write Tests First on code that is churning hard?
apremdas at gmail.com
Sun Feb 21 05:37:14 EST 2010
On 19 February 2010 08:59, Erik Pukinskis <erikpukinskis at gmail.com> wrote:
> Hello Specmeisters!
> I have a bit of a philosophical question for the TDD witches and
> wizards out there. I'm working on some code that is really
> churning... It's doing complicated calculations, but the actual
> desired results are a moving target. The acceptable values, and even
> the structure of the software's output are changing constantly. The
> internal architecture is changing rapidly, and I'm constantly throwing
> away methods I no longer need.
> This has resulted in me no longer writing specs on this part of my
> codebase. They just become obsolete very very fast. Changing the
> specs constantly feels like a pointless doubling of my effort. Specs
> seem to help with debugging and verification that the software is
> performing as expected. But I'm spending most of my time trying to
> figure out what I should be expecting. I verify that things are
> working quickly and informally, because it's likely the definition of
> "working" will change before the week is up.
> Am I being stupid? Is it really a pointless doubling, or am I
> creating more debugging time for myself than I'm saving without
> writing specs? Should I be more religious about Test First?
> Thanks in advance for the insights,
> rspec-users mailing list
> rspec-users at rubyforge.org
I think you can consider writing a completely separate spike to explore your
subject, so long as you make absolutely certain that you do not merge it
into production code. To avoid that temptation it really should be seperate.
Speculating a bit however, I think your process for developing this part of
your code maybe very wrong. It sounds like your looking for justification
for hacking - which generally is a bad sign - and that maybe you need to
take a step back and look at different approaches. Maybe instead of focusing
on results you could focus on process e.g. to calculate foo I first need to
bar etc. or perhaps you need to go more granular and create some tools to
simplify your calculations. Finally if you have any long methods in your
calculations (> than 5 lines) refactor them. Decomposing them into smaller
methods could reveal alot about the structure of your problem
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rspec-users