# 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.

- Skill: `s-hiraoku/refactoring` (Agent Skill)
- Install (CLI): `npx skillmds add s-hiraoku/refactoring`
- Raw SKILL.md: https://api.skillmd.com/api/skills/s-hiraoku/refactoring/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: s-hiraoku (https://skillmd.com/u/s-hiraoku)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/s-hiraoku/refactoring

---


# 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.

