refactoring-code

When refactoring, you change structure without changing behavior. Always have tests passing before and after.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "refactoring-code" with this command: npx skills add nguyenhuuca/assessment/nguyenhuuca-assessment-refactoring-code

Refactoring Code

The Refactoring Hat

When refactoring, you change structure without changing behavior. Always have tests passing before and after.

Workflows

  • Tests Green: Ensure all tests pass before starting

  • Analyze: Use Grep to understand dependencies

  • Small Steps: Make one small change at a time

  • Verify Usages: Use Grep to find all usages before changes

  • Commit Often: Commit after each successful refactoring

  • Tests Green: Verify tests still pass after each change

Common Refactorings

Extract Method

When a code block does one thing, extract it to a named method.

  • Use Grep to verify extraction won't break callers

  • Extract the method

  • Run tests

Rename for Clarity

Names should reveal intent.

  • Use Grep to find ALL usages

  • Use Edit with replace_all for codebase-wide rename

  • Verify no missed references

Remove Dead Code

  • Use Grep to verify code is unused

  • If zero references, safe to remove

  • If references exist, trace to understand usage

Code Smells to Address

  • Long Method: Extract smaller methods

  • Long Parameter List: Introduce parameter object

  • Duplicate Code: Extract to shared function (use Grep to locate duplicates)

  • Feature Envy: Move method to the class it uses most

  • Data Clumps: Group related data into objects

  • Primitive Obsession: Replace primitives with value objects

Safety Rules

  • Never refactor and add features simultaneously

  • Always use Grep to find all usages before removing/renaming

  • Run tests after every change

  • Use targeted Edit operations instead of broad find-replace

  • Commit working states frequently

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

implementing-code

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

optimizing-code

No summary provided by upstream source.

Repository SourceNeeds Review