Agent skill
refactoring-patterns-vuralserhat86-antigravity-agentic
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/refactoring-patterns-vuralserhat86-antigravity-agentic
SKILL.md
🔄 Refactoring Patterns
Common refactoring patterns ve code smell çözümleri.
🎯 Altın Kural
Davranışı DEĞİŞTİRME, sadece yapıyı iyileştir
Before: Input X → [Code A] → Output Y
After: Input X → [Code B] → Output Y (AYNI!)
🔍 Code Smells
| Smell | Çözüm |
|---|---|
| Long Method | Extract Method |
| Large Class | Extract Class |
| Duplicate Code | Extract + Reuse |
| Long Parameter List | Parameter Object |
| Feature Envy | Move Method |
| Data Clumps | Extract Class |
📦 Extract Method
typescript
// ❌ Before
function processOrder(order) {
// 20 lines of validation
// 30 lines of calculation
// 15 lines of formatting
}
// ✅ After
function processOrder(order) {
validateOrder(order);
const total = calculateTotal(order);
return formatOutput(total);
}
🔄 Replace Conditional with Polymorphism
typescript
// ❌ Before
function getPrice(type) {
if (type === 'premium') return 100;
if (type === 'basic') return 50;
return 30;
}
// ✅ After
const pricing = { premium: 100, basic: 50, free: 30 };
const getPrice = (type) => pricing[type] ?? 30;
Refactoring Patterns v1.1 - Enhanced
🔄 Workflow
Kaynak: Refactoring.guru & Martin Fowler - Refactoring
Aşama 1: Preparation (Safety First)
- Red-Green-Refactor: Testin var mı? Yoksa önce test yaz ("Characterization Tests"), sonra refactor et.
- Small Steps: Değişiklikleri atomik commitler halinde yap. Her adımda testleri çalıştır.
- Backup: VCS (Git) üzerinde temiz bir dalda çalış.
Aşama 2: Applying Patterns
- Simplification: Karmaşık koşulları
Decompose ConditionalveyaReplace Nested Conditional with Guard Clausesile basitleştir. - Abstraction:
Extract MethodveExtract Classile sorumlulukları (SRP) ayır.Primitive Obsessionvarsa Value Object'e çevir. - Modernization:
var->const/let,for->map/filter, Callback -> Async/Await dönüşümlerini uygula (Dil özelliklerini kullan).
Aşama 3: Verification & Cleanup
- Regression Testing: Mevcut fonksiyonların bozulmadığını doğrula.
- Dead Code: Kullanılmayan kodları (Dead Code) acımasızca sil. Yorum satırına alma, sil (Git geçmişinde var zaten).
- Naming: Değişken ve fonksiyon isimlerini, kodun ne yaptığını değil "neden" yaptığını anlatacak şekilde güncelle.
Kontrol Noktaları
| Aşama | Doğrulama |
|---|---|
| 1 | Refactoring sırasında yeni özellik eklendi mi? (KESİNLİKLE HAYIR. İki şapka kuralı: Ya Refactor yap ya Feature ekle). |
| 2 | Kodun okunabilirliği arttı mı? (Cognitive Complexity düştü mü?). |
| 3 | Test kapsamı (Coverage) korundu mu? |
Didn't find tool you were looking for?