Learn English – an antonym for “refactoring” with regards to programming

antonymsprogrammingsingle-word-requests

Consider this definition of "refactoring" from Martin Fowler's book, Refactoring: Improving the Design of Existing Code:

Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure.

What is an antonym for this definition of refactoring? More specifically, how would one describe the process of worsening or deteriorating the internal structure of a software system?

Someone pointed out that refactoring is an intentional act, and that there probably isn't a word that describes intentionally making software worse. I am fine with an antonym that does not communicate intention.

Best Answer

The idea that software degrades over time is known as software rot (or, slightly less specifically, "bit rot"). There are two main variations. The first is that software that is not being maintained gradually degrades over time as the environment around the software changes. For example, upgrading to a new version of an operating system might make an existing software package stop working.

However, I think you are referring to the second variation, active rot (sometimes referred to as "software entropy"). In this variation, changes to the software increase the complexity of the software and degrade its internal structure. Programmers sometimes refer to these kinds of changes as technical debt, especially when making changes that are expedient in the short term, but that you know -- even as you are making the change -- that you will need to pay for later.

Related Topic