Claude
Skills
← Back

refactoring

Guide for safe and effective code refactoring. Focuses on improving code structure without changing external behavior. Covers patterns like extraction, inlining, and naming improvements.

General

What this skill does


# Refactoring Guide Skill

Refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior.

## Core Refactoring Patterns

### 1. Composing Methods
- **Extract Method**: If a method is too long or complex, turn a fragment of it into its own method.
- **Inline Method**: If a method body is as clear as its name, move the body into the callers and delete the method.

### 2. Moving Features Between Objects
- **Move Method/Field**: Relocate logic to the class where it most naturally belongs to reduce coupling.

### 3. Simplifying Expressions
- **Decompose Conditional**: Extract complex conditional logic into clearly named methods.
- **Consolidate Conditional Expression**: Merge multiple conditional checks that lead to the same result.

### 4. Clean Code & Naming
- **Rename**: Use clear, intention-revealing names for variables, methods, and classes.
- **Replace Magic Number with Symbolic Constant**: Use named constants instead of literal numbers.

## Safe Refactoring Workflow

1. **Verify Tests**: Ensure you have a solid test suite that passes before starting.
2. **Small Steps**: Make one tiny change at a time.
3. **Run Tests**: Execute the test suite after every small change to catch regressions immediately.
4. **Commit Often**: Commit your changes once a small refactoring step is complete and verified.

## When to Refactor
- **Rule of Three**: Refactor when you find yourself doing something for the third time.
- **Code Smells**: Refactor when you encounter long methods, large classes, or duplicated code.
- **Adding Features**: Refactor before adding new functionality to make the implementation easier.

Related in General