in reply to Re: Structural Elegance
in thread Structural Elegance
I don't fully buy the no-rewrite rule, myself.
I actually subscribe to the opposite theory: plan to write two - the first one is just throw-away. If I could just stop all requirements from coming in for a month, I would be able to finish the other half of my rewrite of our entire perl infrastructure on our team. The first design had holes in it large enough to drive a truck through. The new design answers all the problems of the old design, plus plugs the holes. But it requires a significant rearchitecture.
As far as the programmer before me encountering problems that aren't readily apparanet... doubtful. That previous programmer was me ;-)
This is a massive effort to move from shell scripts that had everything hardcoded in wierd places, ... to perl code that was completely data-oriented. I worked on the shell scripts for a few years before we started the move to perl, so I'm intimately aware of the pluses and minuses of the original code. I designed the first perl infrastructure, handling all the pluses and solving all the minuses of the old shell code. Yes, all of them. But, reality has a way of side-swiping you. In the design, I only took care of all the immediate issues, without looking to future issues. Only by putting it to some use (we delivered two major releases of our off-the-shelf business software based on the original infrastructure) have we figured out what needs to be kept, what needs to be rewritten, and what simply needs to be discarded. Most of what needs to be kept is concepts, not code.
That's just the way I look at it. But I didn't suggest rewriting ('porting') the shell code into perl to management until I did understand the subtle issues in the problem domain. So maybe this is just an opinion given different assumptions... and not an outright disagreement.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Structural Elegance
by hardburn (Abbot) on Apr 21, 2005 at 13:25 UTC | |
by Tanktalus (Canon) on Apr 21, 2005 at 14:12 UTC |