3 ms·
Although I agree with the general view of the article, the rule "If It Can't Be Done Incrementally, Don't Do It" does not always apply. I once had to refactor a
by Archelaos 4y ago
Although I agree with the general view of the article, the rule "If It Can't Be Done Incrementally, Don't Do It" does not always apply. I once had to refactor a large application from non-currency-aware to currency-aware. This means every single database field and every single operation involving prices had to be touched. Of course, I did not randomly jump around the code and instead tried to do it systematically. But the whole refactoring took several weeks and had to be rolled out all at once.
- valbaca 4y ago> instead tried to do it systematically Exception proving the rule. Yes, sometimes for something as deep as adding currency you do just need to fully refactor BUT I think you're still doing it in the spirit of "One Problem At a Time" You were adding currency, not adding currency AND updating the date library AND touching up the unit testing mocking AND adjusting that CSS for the checkout button (or whatever equivalent).
- Archelaos 4y agoHm. All your examples depent heavily on the circumstances. For instance, if you have a team of coders working on the same code base, it might be preferable to do all these things in parellel and role them out together. I just think that "Do things incrementally" is not so an important advice as the formulation "If It Can't Be Done Incrementally, Don't Do It" suggests. I would rather say: "Prefer to do things incrementally unless you have a good reason to do it differently."
- michaelcampbell 4y agoI'd be hard pressed to find any "rule" in any creative endeavor that _always_ applies, past obvious absurdities.