Refactoring Improving the Design of Existing Code
RefactoringImprovingtheDesignofExistingCodeRefactoring,aFirstExampleApoorlydesignedsystemishardtochange.Hardbecauseitishardtofigureoutwherethechangesareneeded.Whenyoufindyouhavetoaddafeaturetoaprogram