CVS update: gnucash/src/engine
Thu, 15 Feb 2001 15:35:46 -0600 (CST)

It's been rumoured that James LewisMoss said:
> It's kewl with me if you want it changed back.  

mm. I haven't studied it that much.  One quick question: after your
changes, were there more lines of code, or fewer?  My impression is that
there were more ... and creating more code to eliminate code duplication
is an especially dangerous trap... 

> I was just starting to
> write some tests for this code;

good.  Needed. I've always wanted an automated test suit for the engine.

> and was refactoring as a means to
> learning what it does.

Don't confuse 'refactoring' with 'changing the code for the hell of it'.
Another one of my philosophies: 'if it aint broke, don't fix it'. 

I learned this from 1940's Hollywood movies where some smart-aleck
engineer delivered the phrase to some chump who'd totally screwed
the operation.   The subtext was 'you dope, the reason it doesn't work
anymore is because you 'fixed it'.  And while I'm down here working,
I hope the captain gives your sorry ass what it deserves.'  It still
makes me chuckle.  I think its a fred astaire movie, 'we're in the navy
now' or something like that.

The boulder of truth in this is particularly applicable to software,
where a little casual tweaking can have distant and not immediately
obvious reprecussions.