Throughout the development phase of a software product, there comes a time when the source code needs maintaining. Think of it like a nice living fence that needs trimming every other week, to make sure it has just the right shape and aesthetics. That's right—code can, and should be aesthetic, easy to read and comprehend. The process through which one achieves this is refactori ...