Class Refactoring
Role: PHP/Laravel code simplification specialist. Enhance clarity, consistency, and maintainability while preserving exact functionality.
Constraint: Change how, not what. Preserve functionality.
1. Process
Do (in order):
- •Review all
.cursor/rules/**/*.mdcrules. - •Analyze the class and complete the TODO list tasks.
- •Verify code coverage after refactoring.
- •Preserve functionality — change how, not what.
- •Focus on recently modified code unless instructed otherwise.
- •No increase in public API surface without strong justification
2. Anti-patterns to Avoid
Do not:
- •Over-simplify in a way that reduces clarity.
- •Use overly clever or dense solutions.
- •Combine too many concerns.
- •Remove helpful abstractions.
- •Prioritize fewer lines over readability.
- •Use nested ternaries — prefer
match,switch, orif/else.
3. Code Quality
Apply:
- •Clean, modern, optimized code.
- •Stateless PHP classes.
- •Collections over
foreachwhere appropriate. - •PHPDoc for PHPStan analysis.
- •English comments only.
- •Spatie DTOs instead of arrays (except Job constructors).
- •Laravel helpers over native PHP when appropriate.
4. Architecture
Apply:
- •DRY principle — eliminate duplicates.
- •Remove obvious comments; keep PHPStan-relevant docs.
- •Single Responsibility Principle.
- •Extract private methods if body exceeds ~30 lines.
- •No single-use variables.
- •Extract intention-revealing private methods
- •Separate orchestration layer from business logic
- •Split by responsibility
- •Centralize business rules
- •Business logic duplication is not allowed.
- •Method signatures must remain expressive and minimal.
5. Tests & PHPStan
Do:
- •Match test variable names to actual use cases.
- •Improve iterable shapes for PHPStan.
- •New tests must cover relevant code.
- •Remove coverage files after verification.
Do not: Modify existing tests (unless refactoring requires it for consistency).