← ClaudeAtlas

code-refactoringlisted

Simplify and refactor code while preserving behavior, improving clarity, and reducing complexity. Use when simplifying complex code, removing duplication, or applying design patterns. Handles Extract Method, DRY principle, SOLID principles, behavior validation, and refactoring patterns.
aiskillstore/marketplace · ★ 329 · Code & Development · score 82
Install: claude install-skill aiskillstore/marketplace
# Code Refactoring ## When to use this skill - **Code review**: Discovering complex or duplicated code - **Before adding new features**: Cleaning up existing code - **After bug fixes**: Removing root causes - **Resolving technical debt**: Regular refactoring ## Instructions ### Step 1: Extract Method **Before (long function)**: ```typescript function processOrder(order: Order) { // Validation if (!order.items || order.items.length === 0) { throw new Error('Order must have items'); } if (!order.customerId) { throw new Error('Order must have customer'); } // Price calculation let total = 0; for (const item of order.items) { total += item.price * item.quantity; } const tax = total * 0.1; const shipping = total > 100 ? 0 : 10; const finalTotal = total + tax + shipping; // Inventory check for (const item of order.items) { const product = await db.product.findUnique({ where: { id: item.productId } }); if (product.stock < item.quantity) { throw new Error(`Insufficient stock for ${product.name}`); } } // Create order const newOrder = await db.order.create({ data: { customerId: order.customerId, items: order.items, total: finalTotal, status: 'pending' } }); return newOrder; } ``` **After (method extraction)**: ```typescript async function processOrder(order: Order) { validateOrder(order); const total = calculateTotal(order); await checkInventory(order); return await c