NYC

refactoring

SKILL.md

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.
Weekly Installs
10
First Seen
9 days ago
Installed on
amp10
gemini-cli10
claude-code10
github-copilot10
codex10
kimi-cli10