3 ms·
As for "Top": The best refactoring tool I ever used was http://structure101.com http://structure101.com, for both C++ and Java. Unfortunately it was just bough
by w10-1 2y ago
As for "Top": The best refactoring tool I ever used was http://structure101.com http://structure101.com, for both C++ and Java.
Unfortunately it was just bought by Sonar. Their former 30-day free trial was mind-blowing. Now it seems to be reduced to architecture enforcement.
It creates an internal database of names and relationships and shows you graphically the dependencies, so you can detangle cycles, impose layering, extract common utilities, etc. It helps you make and execute an overall plan.
Yes, work incrementally with tests, but you're blind if you can't see the whole landscape and have no plan (esp. no vision of exactly why the result will be better).
The strict meaning of refactoring is not any re-design, but a wholesale change that is guaranteed by language features to be correct (i.e., to not change semantics). With structure-101 (in java at least) you can lay out a whole series and execute them all.
(Absent that, Eclipse offers a host of refactoring steps for Java.)
It's too bad given the dynamics of worse-is-better free or cheap IDE's that syntax- and semantic-aware tooling like structure101 isn't widely prevalent.