---
id: refactor
requestedLanguage: en
descriptionLanguage: en
---

# Refactoring

- Type: practice
- Group: Implementation cycle
- Placement: Implementation / Evolving the solution
- [Source](<https://refactoring.com/>)

[HTML](https://dpm.cnonim.name/practices/refactor/)

Improves the internal structure of code while preserving observable behavior.

## Relationships

- may start with: [Change Impact Analysis](/practices/changeimpact/en.md) (support)
- has the variant: [Preparatory Refactoring](/practices/preparatory/en.md) (structure)
- may build on: [Characterization Testing](/practices/characterization/en.md) (support)
- is part of the cycle of: [Test-Driven Development](/practices/tdd/en.md) (structure)
- helps apply: [You Aren’t Gonna Need It](/practices/yagni/en.md) (support)

[Show on the map](https://dpm.cnonim.name/#practice=refactor&lang=en)
