All good writing is based upon revision.
— Jacques Barzun, Simple & Direct, 4th Edition
Revision means to re-see or see again.When we re-see variable or method names, algorithms, class responsibilities, hierarchies or even technology choices,
we make a choice about whether to make an improvement.Refactoring is the act of making small improvements that preserve behavior while improving design.Rewriting is the act of throwing out code and writing it from scratch.Refactoring and rewriting are different activities, each of which may result from re-vision.