See a piece of article:
Reconstruction is more troublesome from beginning to
I want to first, for a programmer, reconstructing your code is your own responsibility, and it should constantly strive for excellence.
But the reconstruction process pays attention to the version management of your code.
Reconstruction should be one of a good quality of a good programmer.
Reconstructing may succeed (the new code is better than the original), or it may fail. So refactoring very emphasized testing. If it fails, then restore old code, you should not put your responsibility in the reconstruction. May be more reflective:
1. Is the original code really need to be reconstructed?
2. The algorithm of the reconstructed method is really better than the original.
3. Is it possible to surpass the old code?
Refactoring is easy to give people nothing to find, should not regard the failure of his own reconstruction as a restructuring!