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

Margaret Rouse
Technology Expert

Margaret is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages.