The implementation of refactoring: an experience report - Mohd. Shah, Amir Shazlan (2004)
Many object-oriented software developers have embraced the technique of refactoring – restructuring the source-code of an object-oriented program without changing its external behavior – as an approach to modifying and maintaining existing software systems. This is because systems, and consequently their design, are prone to software degradation, which if left unattended will affect the maintainability of the system. Refactoring allows the developer to continually uphold the design of the system without spending as much time as other techniques such as reverse engineering. In this study the writer would discuss his experiences in applying refactoring on a system and explain how they are implemented so as to preserve the behavior of a system. A set of software metrics was utilized to measure the impact of the said refactoring activity to the system. The results show marked improvements on the maintainability, usability and complexity of the overall system. Thus, it proves that refactoring can slow down the software degradation rate of a system.