# Refactor Clean Her adımda test doğrulaması ile ölü kodu güvenle tanımla ve kaldır. ## Adım 1: Ölü Kodu Tespit Et Proje türüne göre analiz araçlarını çalıştır: | Araç | Ne Bulur | Komut | |------|--------------|---------| | knip | Kullanılmayan export'lar, dosyalar, bağımlılıklar | `npx knip` | | depcheck | Kullanılmayan npm bağımlılıkları | `npx depcheck` | | ts-prune | Kullanılmayan TypeScript export'ları | `npx ts-prune` | | vulture | Kullanılmayan Python kodu | `vulture src/` | | deadcode | Kullanılmayan Go kodu | `deadcode ./...` | | cargo-udeps | Kullanılmayan Rust bağımlılıkları | `cargo +nightly udeps` | Hiçbir araç yoksa, sıfır import'lu export'ları bulmak için Grep kullanın: ``` # Export'ları bul, sonra herhangi bir yerde import edilip edilmediklerini kontrol et ``` ## Adım 2: Bulguları Kategorize Et Bulguları güvenlik katmanlarına göre sırala: | Katman | Örnekler | Aksiyon | |------|----------|--------| | **GÜVENLİ** | Kullanılmayan yardımcılar, test yardımcıları, dahili fonksiyonlar | Güvenle sil | | **DİKKAT** | Component'ler, API route'ları, middleware | Dinamik import'ları veya harici tüketicileri olmadığını doğrula | | **TEHLİKE** | Config dosyaları, giriş noktaları, tip tanımları | Dokunmadan önce araştır | ## Adım 3: Güvenli Silme Döngüsü Her GÜVENLİ öğe için: 1. **Tam test paketini çalıştır** — Baseline oluştur (tümü yeşil) 2. **Ölü kodu sil** — Cerrahi kaldırma için Edit aracını kullan 3. **Test paketini yeniden çalıştır** — Hiçbir şeyin bozulmadığını doğrula 4. **Testler başarısız olursa** — Hemen `git checkout -- ` ile geri al ve bu öğeyi atla 5. **Testler geçerse** — Sonraki öğeye geç ## Adım 4: DİKKAT Öğelerini İdare Et DİKKAT öğelerini silmeden önce: - Dinamik import'ları ara: `import()`, `require()`, `__import__` - String referansları ara: route isimleri, config'lerdeki component isimleri - Public paket API'sinden export edilip edilmediğini kontrol et - Harici tüketici olmadığını doğrula (yayınlanmışsa bağımlıları kontrol et) ## Adım 5: Duplikatları Birleştir Ölü kodu kaldırdıktan sonra şunları ara: - Neredeyse aynı fonksiyonlar (%80'den fazla benzer) — birinde birleştir - Gereksiz tip tanımları — birleştir - Değer eklemeyen wrapper fonksiyonlar — inline yap - Amacı olmayan re-export'lar — yönlendirmeyi kaldır ## Adım 6: Özet Sonuçları raporla: ``` Ölü Kod Temizliği ────────────────────────────── Silindi: 12 kullanılmayan fonksiyon 3 kullanılmayan dosya 5 kullanılmayan bağımlılık Atlandı: 2 öğe (testler başarısız) Kazanç: ~450 satır kaldırıldı ────────────────────────────── Tüm testler geçiyor ✅ ``` ## Kurallar - **Önce testleri çalıştırmadan asla silmeyin** - **Bir seferde bir silme** — Atomik değişiklikler geri almayı kolaylaştırır - **Emin değilseniz atlayın** — Üretimi bozmaktansa ölü kodu tutmak daha iyidir - **Temizlerken refactor etmeyin** — Endişeleri ayırın (önce temizle, sonra refactor et)