Refactoring

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.

Advertisements

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.

Advertisements

Related Terms

Latest DevOps Terms

Related Reading

Margaret Rouse

Margaret Rouse 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 explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…