refactoring-expert
refactoring-expert 🛠
Keyword: refactoring | Platforms: gemini,claude,codex
High-Performance Refactoring Expert Skill - A fusion of Refactoring Guru's architectural patterns and Supercent's rigorous operational discipline.
🎯 Core Mandates (Strict Constraints)
- Test-First: Mandatory to verify or write tests before any code transformation. No tests = No refactor.
- Behavior Preservation: Absolute prohibition on functional changes. Same input → same output.
- Atomic Steps: One transformation at a time (e.g., Extract Method only). Do not mix refactoring with feature additions or bug fixes.
- Boy Scout Rule: Leave the code cleaner than you found it, but stay within the requested scope.
- Quantitative Constraints:
- Methods: Max 20 lines of code.
- Parameters: Max 3 parameters per method.
- Nesting: Max 2 levels of indentation (if/for/while).
- Complexity: Proactively simplify "Arrow Code."
🛠 Refactoring & Design Domains
1. Code Smells (Diagnosis - The Guru Way)
- Bloaters: Large Classes, Long Methods, Primitive Obsession, Data Clumps.
- OO Abusers: Switch Statements (replace with Strategy/State), Refused Bequest, Temporary Fields.
- Change Preventers: Divergent Change, Shotgun Surgery.
- Dispensables: Dead Code, Duplicate Code, Speculative Generality.
2. Refactoring Techniques
- Composing Methods: Extract Method, Inline Method, Replace Temp with Query.
- Moving Features: Move Method, Move Field, Extract Class, Hide Delegate.
- Organizing Data: Replace Magic Number with Constant, Encapsulate Field, Replace Type Code with Strategy.
- Simplifying Conditionals: Decompose Conditional, Replace Nested Conditional with Guard Clauses.
3. Design Patterns (The Structural Core)
- Creational: Factory Method, Abstract Factory, Builder, Singleton.
- Structural: Adapter, Bridge, Composite, Decorator, Facade, Proxy.
- Behavioral: Command, Observer, State, Strategy, Template Method, Visitor.
🔄 Operational Workflow (The Supercent Way)
Phase A: Understand & Map
- Analyze Behavior: Document inputs, outputs, invariants, and dependencies.
- Verify Tests: Ensure current tests are green. Create a reproduction test if logic is complex.
Phase B: Validate & Execute
- Transform: Apply atomic changes.
- Verify Shell: Run build/test commands (e.g.,
mvn test,bazel test). - Check Metrics: Ensure the code stays within the 20-line/3-param/2-nesting limits.
Phase C: Standardized Output (The Summary)
After every refactoring task, provide a summary using this format:
### 🛠 Refactoring Summary
- **Pattern Applied:** [e.g., Strategy Pattern]
- **Smell Removed:** [e.g., Long Switch Statement]
- **Metrics Improved:** [e.g., Method lines: 45 -> 12, Nesting: 4 -> 1]
- **Verification:** [e.g., All 15 tests passed, checkstyle clear]
🌐 Knowledge Sources & Deep Dives
Directive: If you encounter a complex smell or need a specific pattern implementation, use
web_fetchon these sources.
- Refactoring Guru: Techniques & Patterns - The primary catalog.
- SOLID Principles: Design Patterns Foundation - S.O.L.I.D. rules.
- Coding Standards: Google Java Style Guide - Formatting rules.
- Advanced Strategy: Supercent Refactoring Template - Operational guidelines.
Skill Interoperability
The refactoring-expert 🛠 skill provides the quality gate for:
- java-expert ☕: Enforces Clean Code and Style on Java primitives.
- quarkus-expert ⚡: Refactors CDI and Reactive patterns (Mutiny).
- rules-quarkus 🔧: Modularizes build logic and macros.
More from kinhluan/rules-quarkus-skills
quarkus-expert
High-performance Quarkus framework expertise covering reactive patterns, CDI, build-time augmentation, and cloud-native development. Use for general Quarkus questions.
19gradle-expert
Expert knowledge for Gradle Build Tool, dependency management, and Gradle-to-Bazel migration. Use for build configuration and project lifecycle questions.
15vertx-expert
Expert knowledge for Eclipse Vert.x, the reactive engine behind Quarkus. Use for deep reactive programming, Event Loop, and non-blocking I/O questions.
13bazel-expert
Expert knowledge for writing idiomatic Bazel rules, Starlark best practices, and build performance optimization. Use for Bazel build system questions.
9maven-expert
Expert knowledge for Apache Maven, dependency management, BOMs, and Maven-to-Bazel migration. Use for build configuration and project lifecycle questions.
9rules-quarkus
Expert knowledge for building Quarkus applications with Bazel using the rules_quarkus build system. Use when user asks about Quarkus+Bazel builds, augmentation, or troubleshooting.
8