Extract Methods Refactor
Ask the user for the file or directory to refactor. Support multiple files if a directory is provided.
Process
Work through these steps in order, making a separate commit for each extraction:
- •
Extract simple helper methods
- •Calculations, formatting, simple logic
- •Single responsibility, behavior-focused names
- •Pass necessary parameters rather than sharing state
- •
Extract complex logic blocks
- •Validation, transformations, data processing
- •Well-named methods that reveal intent
- •Apply proper access modifiers (private for helpers)
- •
Extract control flow sections
- •Only when it improves readability
- •Avoid over-extraction that hurts clarity
After EACH extraction:
- •Run tests automatically
- •If tests fail, revert the change immediately
- •If tests pass and using IDE refactoring tool, commit:
. r <description> - •If tests pass but manual refactoring, commit:
^ r <description>
Guidelines
- •Extract pragmatically to improve code organization
- •Name methods based on behavior not implementation
- •Ensure each method ≤ 25 lines
- •Preserve original functionality exactly
Output
- •If no methods to extract, report "No methods to extract"
- •Otherwise provide brief summary (e.g., "Extracted 5 methods from 3 large blocks")
Commit Format
Use Arlo's Commit Notation (ACN):
- •
. r extract validateUserCredentials method- IDE refactoring - •
^ r extract transformRawStockData method- Manual refactoring