Each day new applications are developed and extra features are added to the existing ones. This means establishment of new program code or introducing modifications to the existing code. To ease up new modifications, software design should be constantly improved to cope with the vast changes added. The quality of software architecture plays an important role, it determines the time to market new features, maintainability and extensibility of applications and readability of the source code. Sustaining overall quality of architecture requires refactoring phases for the design to cope with new changes, which also restores source code readability and extensibility. More experienced developers conduct code reviews in different phases of application development to pin point places that need improvements. Several code refactoring steps can be applied to source code, to recover maintainability and extensibility of it. Refactoring is playing an important role, not only in software development, but also in other fields. In this article the authors give an overview, what can be achieved by refactoring and point out some success stories. Several aspects of refactoring process are studied, and a refactoring strategy proposed.
IOS Press, Inc.
6751 Tepper Drive
Clifton, VA 20124
Tel.: +1 703 830 6300
Fax: +1 703 830 2300 firstname.lastname@example.org
(Corporate matters and books only) IOS Press c/o Accucoms US, Inc.
For North America Sales and Customer Service
West Point Commons
Lansdale PA 19446
Tel.: +1 866 855 8967
Fax: +1 215 660 5042 email@example.com