Refactoring
Targeted restructuring of existing code without changing its external behavior.
Refactoring refers to the restructuring of existing code without its external behavior changing in the process. A function is, for example, split into smaller units, names are made more precise or duplicated code is merged – the output for given inputs stays the same.
The term became known through Martin Fowler's book of the same name. Because the behavior is not supposed to change, sensible refactoring requires safeguarding by existing tests: only then can it be checked whether the restructuring really changed nothing about the result. Refactoring is thus clearly to be distinguished from a rewrite with new behavior.
What Provimedia uses it for
Provimedia schedules refactoring as a work step of its own, safeguarded by the existing test suite, instead of letting it run along on the side.
Want to use Refactoring for your project?
In a free conversation, let's find out how we can implement this for you.
More from Software quality
Clean Code
Guiding idea for code that is designed to be understandable for humans and not just for the compiler.
Learn moreCode Review
Systematic examination of code by other developers before it is merged into the main branch.
Learn moreCode Smell
Conspicuous pattern in code that is not necessarily wrong but points to a deeper problem.
Learn moreDefinition of Done
Written list of criteria agreed in the team that a task must meet in order to count as done.
Learn moreLinting
Automated checking of code for style and formatting errors according to fixed rules.
Learn moreMutation Testing
Technique that deliberately introduces small errors into the code to check how meaningful the tests are.
Learn moreQuality Gate
Check stage in the development pipeline that lets a change pass only if fixed criteria are met.
Learn moreRegression Test
Re-testing of existing functions after a change in order to detect newly introduced errors.
Learn more