| name | refactor-extract-and-isolate |
| description | [Code Quality] Extracts methods, classes, or modules to reduce complexity and improve isolation. Use when functions are too long, classes have too many responsibilities, or concerns are mixed. |
Refactor: Extract and Isolate
Break down complex code into focused, reusable units.
Extract Method
When to Extract
- Function > 20 lines
- Code block has a distinct purpose
- Same logic repeated
- Deep nesting (> 3 levels)
Extract Class
When to Extract
- Class > 300 lines
- Multiple distinct responsibilities
- Group of related methods/properties
- Feature envy
Extract Protocol/Interface
When to Extract
- Multiple implementations possible
- Testing requires mocking
- Dependency inversion needed
Checklist
- Identify extraction boundary
- Choose good name for new unit
- Move code to new location
- Update references
- Add tests for new unit
- Verify original tests pass