name: refactor description: "Refactor code to improve structure and maintainability" tags: [code-quality, refactoring] version: "1.0.0"
Refactor
Improve code structure without changing external behavior.
Process
- Understand — Read all related code, run existing tests
- Plan — Identify what to change and why
- Execute — Make changes incrementally
- Verify — Run tests after each change
Common Refactoring Patterns
Extract
- Long function → smaller focused functions
- Repeated code → shared helper
- Magic numbers → named constants
Simplify
- Deep nesting → early returns / guard clauses
- Complex conditionals → descriptive functions
- Large classes → smaller focused classes
Rename
- Unclear names → descriptive names
- Inconsistent naming → consistent conventions
Reorganize
- Related functions scattered → grouped in modules
- Circular dependencies → dependency inversion
Rules
- Never change behavior — tests must pass before and after
- One refactoring type per commit
- If tests don't exist, write them first
- Don't refactor and add features in the same change