Live data from Hacker News

The secret to refactoring code in baby steps

printhelloworld.de

1–5 of 5 posts

Re: The secret to refactoring code in baby steps

#3
Most important: Don't just start refactorings, finish them (!!!)

I've used a couple of the refactoring approaches mentioned in the article over the last 10 years in our current project. The biggest mess comes from partially executed parallel changes. You go from one bad solution to one bad solution + a better solution, ending up with a bigger mess than you started with halfway through. And when that mess becomes visible/a problem again, nobody wants to finish the initial refactoring, they create another parallel change, not finishing that either, etc etc.

Re: The secret to refactoring code in baby steps

#4

Most important: Don't just start refactorings, finish them (!!!) I've used a couple of the refactoring approaches mentioned in the article over the last 10 years in our current project. The biggest mess comes from partially executed parallel changes. You go from one bad solution to one bad solution + a better solution, ending up with a bigger mess than you started with halfway through. And when that mess becomes visi…

Yes, I couldn't agree more. We use sticky nodes and wiki pages to track and limit open changes as well as monitoring metrics such use of @deprecated stuff.

Re: The secret to refactoring code in baby steps

#5

Most important: Don't just start refactorings, finish them (!!!) I've used a couple of the refactoring approaches mentioned in the article over the last 10 years in our current project. The biggest mess comes from partially executed parallel changes. You go from one bad solution to one bad solution + a better solution, ending up with a bigger mess than you started with halfway through. And when that mess becomes visi…

The biggest problem from these refactorings for me is when the team doing it is depreciating the old interface, which means that I can't use it, but the new interface doesn't provide the features that the old interface provides (and uses in production actually)