Redesigning asynchronous suspend/resume
Posted Dec 17, 2009 16:11 UTC (Thu) by jzbiciak
(✭ supporter ✭
Parent article: Redesigning asynchronous suspend/resume
I'm reminded of Fredrick Brooks' statement:
Plan to thrown one away; you will, anyhow.
Of course, Brooks' aphorism is a bit over-compressed, and he's noted its limitations in later essays. I can't help but think, though, that these massive reworks are only successful because the thing being reworked already exists and already shows benefits despite its warts. That gives incentive to go back and fix the things that are clearly not right, but retain the value.
"Because it took a lot of time to write" is a horrible reason to keep a piece of code if you can see that there's clearly a better way to do something once you get to the end. And besides, this massive rework took, what, less than two weeks? (Rafael's pull request was dated Dec 5th, and today is 12 days later.) If you covered the original patches back in August, then comparing the 2 weeks relative to the previous 3+ months doesn't feel so bad.
Sometimes you don't know why something is bad until after you've implemented it. The rework that happens at the end benefits from hindsight.
to post comments)