refactoring

Improving without changing

Refactoring is restructuring existing computer code without changing its external behavior—improving internal structure while keeping functionality identical.

Programmers refactor to make code cleaner, more efficient, or easier to maintain: I spent the afternoon refactoring the authentication module.

The term has spread beyond software to mean any reorganization that improves form without altering substance.

techdebt

legacy

What's passed down

  • rotOrganic breakdown process
  • cruftAccumulated digital debris
  • obsoleteNo longer in use

unmaintainable · fragile · hacky · messy · tangled · unwieldy · brittle · patchwork · accumulated · shortcuts

quality

readability

Ease of understanding text

simplicity · cohesion · consistency · understandability · testability · extensibility · flexibility · robustness · reliability · expressiveness

codesmells

duplication

Making an identical copy

coupling

techniques

rename

Assign a different title

  • inlineArranged in sequence
  • moveChange location or act
  • pull-upSelf-hoisting bar exercise
structure

restructure

Rearrange fundamental organization

architecture · redesign · decoupling · abstraction · encapsulation · composition · interfaces · patterns · components · classes

process

incremental

Proceeding by small additions

safe · systematic · disciplined · test-driven · baby-steps · opportunistic · planned · preparatory · comprehension

Categories
Opposites
code change purpose

refactoringfeature creep

Gradual unnecessary expansion

behavior modification · new development · enhancement

code quality direction

refactoringspaghettification

Tidal stretching near black holes

kludging · bit rot · hacking · bodging

development approach

refactoringrewriting

Composing text anew

rapid prototyping

Family

fact, effect, factory, factor, manufacture, faction, facilitate, benefactor, malefactor

Familiarity
Top 500,000
Profile
Used worldwide · Timeless · Abstract · Rated G