{"id":"refactoring","title":"Refactoring while preserving behavior","summary":"Improve internal software structure in small steps while preserving observable behavior.","concepts":["Behavior preservation: separate feature changes from structural changes","Small steps: keep the cause of each change traceable","Regression checks: verify existing contracts remain intact"],"application":"Use this approach to reduce the cost of understanding frequently changed code or prepare its structure for a new feature.","limitations":"Preservation is difficult to judge when observable behavior and tests are unclear. Refactoring is not synonymous with a large rewrite.","directions":["Incremental improvement: tidy the area around a necessary change.","Preparation: address areas where repeated changes are costly."],"category":"Technology and product","kind":"method","kind_label":"Method","persona_ids":["developer"],"revision":1,"updated_at":"2026-10-07T00:00:00.000Z","sources":[{"title":"Refactoring","url":"https://martinfowler.com/bliki/Refactoring.html","publisher":"Martin Fowler","edition":"Author definition page","region":"International reference; verify the application environment","checked_at":"2026-10-07","reuse":"Independent editorial summary and source link; the original text is not republished."}],"review":{"status":"source-checked-editorial","expert_reviewed":false},"editorial_note":"Editorial English translation of the Korean edition. No professional translation or occupational expert review has been completed. Translation does not change the source jurisdiction.","language":"en","translation":{"status":"current","source_language":"ko","source_version":"kb-2c59c48839935b18","translated_at":"2026-10-08","professional_reviewed":false},"trust":"reference-data","version":"kb-de00e5a866573390","links":{"document":"/en/knowledge/refactoring","markdown":"/en/knowledge/refactoring.md","api":"/api/v1/knowledge/refactoring?lang=en"}}