Linux Journal: Programming Tools: Refactoring | Linux Today

Linux Journal: Programming Tools: Refactoring

Written By
Web Webster
Web Webster
Feb 11, 2005

“Refactoring is the process of modifying code without affecting
either its input or output; that is, the code’s interface remains
the same. How do we know that refactoring works? The only objective
way to find the answer is by testing the code before and after
refactoring occurs. The results should match exactly. This makes
testing an integral part of any refactoring effort–you cannot
successfully separate the two.

“Some confusion exists between what it means to refactor code as
opposed to reworking it. Refactoring is a subset of reworking. If
you are making no changes to the interface of a program, you are
refactoring. If you add or change the interface, you are rewriting
the code. Strictly speaking, when you do both together, you are
rewriting. However, for political reasons, you still might want to
call it refactoring…”

Complete
Story

Web Webster

Web Webster

Web Webster has more than 20 years of writing and editorial experience in the tech sector. He’s written and edited news, demand generation, user-focused, and thought leadership content for business software solutions, consumer tech, and Linux Today, he edits and writes for a portfolio of tech industry news and analysis websites including webopedia.com, and DatabaseJournal.com.

Linux Today Logo

LinuxToday is a trusted, contributor-driven news resource supporting all types of Linux users. Our thriving international community engages with us through social media and frequent content contributions aimed at solving problems ranging from personal computing to enterprise-level IT operations. LinuxToday serves as a home for a community that struggles to find comparable information elsewhere on the web.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.