refactoring-suggester

Refactoring Suggester Skill

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-suggester" with this command: npx skills add ntaksh42/agents/ntaksh42-agents-refactoring-suggester

Refactoring Suggester Skill

コードのリファクタリング提案を行うスキルです。

主な機能

  • Extract Method: 長いメソッドを分割

  • Rename: 分かりやすい命名に変更

  • Remove Duplication: 重複排除

  • Simplify Conditionals: 条件式の簡略化

  • Design Patterns: パターン適用提案

リファクタリング例

Extract Method

// Before function processOrder(order) { // 検証 if (!order.items || order.items.length === 0) { throw new Error('No items'); } if (!order.customer) { throw new Error('No customer'); }

// 価格計算 let total = 0; for (const item of order.items) { total += item.price * item.quantity; } const tax = total * 0.1; total += tax;

// 保存 const saved = db.orders.save(order); return saved; }

// After: Extract Method function processOrder(order) { validateOrder(order); const total = calculateTotal(order); return saveOrder(order, total); }

function validateOrder(order) { if (!order.items || order.items.length === 0) { throw new Error('No items'); } if (!order.customer) { throw new Error('No customer'); } }

function calculateTotal(order) { const subtotal = order.items.reduce( (sum, item) => sum + item.price * item.quantity, 0 ); return subtotal * 1.1; // +10% tax }

function saveOrder(order, total) { order.total = total; return db.orders.save(order); }

Replace Magic Numbers

Before

def calculate_price(item): if item.category == 'premium': return item.price * 0.9 elif item.category == 'vip': return item.price * 0.8 return item.price * 1.0

After

DISCOUNT_RATES = { 'premium': 0.9, 'vip': 0.8, 'regular': 1.0 }

def calculate_price(item): rate = DISCOUNT_RATES.get(item.category, 1.0) return item.price * rate

Simplify Conditionals

// Before function getShippingCost(weight: number, distance: number): number { if (weight < 5) { if (distance < 100) { return 10; } else { return 15; } } else { if (distance < 100) { return 20; } else { return 25; } } }

// After: Guard Clauses function getShippingCost(weight: number, distance: number): number { const isLight = weight < 5; const isNear = distance < 100;

if (isLight && isNear) return 10; if (isLight && !isNear) return 15; if (!isLight && isNear) return 20; return 25; }

// Better: Lookup table const SHIPPING_RATES = { 'light_near': 10, 'light_far': 15, 'heavy_near': 20, 'heavy_far': 25 };

function getShippingCost(weight: number, distance: number): number { const weightKey = weight < 5 ? 'light' : 'heavy'; const distanceKey = distance < 100 ? 'near' : 'far'; const key = ${weightKey}_${distanceKey}; return SHIPPING_RATES[key]; }

バージョン情報

  • Version: 1.0.0

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.

Automation

pptx-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

document-summarizer

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

excel-processor

No summary provided by upstream source.

Repository SourceNeeds Review