Don't miss an insight. Subscribe to Techopedia for free.



What Does Refactoring Mean?

Refactoring is the process of altering an application’s source code without changing its external behavior. The purpose of refactoring is to improve some of the nonfunctional properties of the code, such as readability, complexity, maintainability and extensibility.


Refactoring can extend the life of source code, preventing it from becoming legacy code. The term is credited to Martin Fowler and Kent Beck who defined refactoring as “a change made to the internal structure of software to make it easier to understand and cheaper to modify without altering its actual observable behavior."

Techopedia Explains Refactoring

There are the three types of refactoring: code refactoring, database refactoring and user interface (UI) refactoring.

Code refactoring is just a synonym for refactoring. Database refactoring involves making simple change to a database schema in order to improve its design without changing behavioral and informational semantics. UI refactoring involves making simple changes to the user interface without changing functionality.

Refactoring can be a tough sell to IT department executives. First, there is the manager consensus concerning existing code modification: if the code is not broken, then a fix is not necessary. Software refactoring slows the source code aging process. Second, managers are hesitant to take on refactoring because of the additional resources that are required. However, because of possible future payback, refactoring can be a very cost-effective approach to the longevity of existing code. In addition, replacing an outdated software application system can be quite expensive.


Related Terms