Thursday, December 18, 2008

Rethinking The Refactoring (Incremental – Not Monumental)

I’ve been thinking a lot about my earlier idea for a major refactoring of OpenJUMP. I’d really like to accomplish all of the goals mentioned in my blog post on the idea, but I’m questioning my original approach.

I thought I would start with a blank slate, and then move code over from the OpenJUMP core as I refactored and cleaned it. There are two (2) problems with this approach:

- I wouldn’t have a running program while the refactoring was in progress.
- I’d have to lock myself in a closet for at least three (3) years to get this done.

I believe an incremental approach to this refactoring would be more productive. I can slowly perform my refactoring of the core, making sure that I have a running build each step of the way.

This would allow me to accomplish a couple of things:

- I get to stay out of that closet.
- I get immediate feedback on my refactoring efforts.
- I can’t mess things up so bad that the core never builds. (That is a definite possibility given my track record.) :]
- Other users and programmers can give the new core a spin if they wish.

I may think about this some more, but I feel like the incremental refactoring may be better than the monumental refactoring.

Stay tuned for more info.

The Sunburned Surveyor

0 comments: