Kod Refactor Promptu: Davranışı Bozmadan İyileştir
Çalışan kodu bozmadan sadeleştiren, her adımı geri alınabilir şekilde planlayan refactor promptu.
Sen kıdemli bir yazılım mimarısın. Aşağıdaki kodu davranışını DEĞİŞTİRMEDEN yeniden düzenleyeceksin. DİL / SÜRÜM: [DİL, SÜRÜM] PROJE KURALLARI: [STİL REHBERİ, LINT KURALLARI, MİMARİ YAKLAŞIM] KODUN SORUMLULUĞU: [BU KOD NE YAPIYOR — 2 CÜMLE] KOD: ```[DİL] [KODU YAPIŞTIR] ``` ÇIKTI 1) MEVCUT DURUM ANALİZİ - Kodun gerçekte kaç sorumluluğu var (tek sorumluluk ilkesine göre) - Tekrarlanan bloklar - Karmaşıklığı artıran noktalar (derin iç içe geçme, uzun fonksiyon, çok parametre) - Gizli yan etkiler 2) REFACTOR PLANI Numaralı, sıralı adımlar. Her adım: - ne değişecek - neden - risk seviyesi (düşük/orta/yüksek) - geri alma yolu Her adım tek başına çalışır durumda kalmalı — büyük tek seferlik değişiklik yapma. 3) YENİ KOD Tam ve çalışır hâlde. Önceki davranışı koru; aynı girdi aynı çıktıyı versin. 4) DAVRANIŞ EŞDEĞERLİĞİ KONTROLÜ Eski ve yeni kodun aynı sonucu verdiğini nasıl doğrularım — 3 somut test. 5) YAPILMAYANLAR Refactor sırasında bilinçli olarak dokunmadığın şeyler ve nedeni (kapsam kaymasını önlemek için). KURALLAR - Yeni özellik ekleme, sadece yapıyı iyileştir. - Genel geçer “clean code” tavsiyesi yazma; her öneri bu koda özgü olsun. - Davranış değişikliği gerekiyorsa ayrı bir bölümde “öneri” olarak yaz, uygulama.
02 — Değişkenler
Köşeli parantezleri doldurun
Prompt içindeki renkli alanlar sizin bilginizle değişecek yerlerdir. Hepsini doldurmak zorunda değilsiniz; boş bırakılan alanı model kendi varsayımıyla tamamlar.
[DİL]
Programlama dili
ör. TypeScript [BU KOD NE YAPIYOR]
Sorumluluk özeti
ör. sipariş toplamını hesaplar, indirim uygular [DİL, SÜRÜM]
Prompt içinde doldurulacak alan
[STİL REHBERİ, LINT KURALLARI, MİMARİ YAKLAŞIM]
Prompt içinde doldurulacak alan
[KODU YAPIŞTIR]
Prompt içinde doldurulacak alan
03 — Kullanım
Adım adım nasıl kullanılır?
- 01
Refactor öncesi çalışan testleriniz olsun; yoksa önce test yazdırın, sonra refactor.
- 02
Adımları tek tek uygulayın ve her adımda testleri çalıştırın.
- 03
“YAPILMAYANLAR” bölümünü okuyun — kapsam kayması en sık burada olur.
- 04
Büyük dosyalarda refactor'u dosya dosya yapın, tüm projeyi tek seferde değiştirmeyin.
04 — Varyasyonlar
Aynı prompt, farklı sonuç
Tek bir prompt her işi çözmez. Aşağıdaki varyasyonlar aynı görevi farklı ton, uzunluk veya formatta ister — duruma göre birini seçin.
Tek fonksiyona indirgeme
Kopyala-yapıştır kod için.
Aşağıdaki kodda tekrar eden blokları bul ve tek bir parametrik fonksiyona indir. Tekrarların listesini ver (satır aralıklarıyla), sonra ortak fonksiyonu yaz, sonra çağrı yerlerini güncelle. Davranış değişmesin. Kaç satır tasarruf edildiğini söyle. KOD: ```[DİL] [KOD] ```
Modernleştirme
Eski sözdizimini günceller.
Aşağıdaki [DİL] kodunu [YENİ SÜRÜM] sözdizimine taşı. Her değişiklik için: eski yazım → yeni yazım → neden daha iyi. Davranış aynı kalsın. Kullanımdan kaldırılmış (deprecated) API varsa işaretle ve yerine ne kullanılacağını yaz. KOD: ```[DİL] [KOD] ```
Mimari öneri
Dosya yapısını düzenler.
Aşağıdaki kod dosyasını incele ve daha iyi bir dosya/modül yapısı öner. Mevcut sorumlulukları listele, sonra: (1) hangi dosyaya ne taşınmalı, (2) klasör yapısı önerisi, (3) bağımlılık yönü (kim kimi import edecek), (4) geçiş sırası. Kod yazma, plan ver. KOD: ```[DİL] [KOD] ```
05 — İpuçları
Sonucu bir üst seviyeye taşıyan notlar
- Refactor ile özellik eklemeyi aynı commit'te yapmayın; hata çıktığında hangi değişikliğin bozduğunu bulamazsınız.
- “Davranışı değiştirme” kuralını vurgulamak, modelin sessizce mantık değiştirmesini engeller.
- Refactor sonrası diff'i satır satır okuyun; model bazen “iyileştirme” sırasında kenar durumları atlar.
06 — Sık sorulanlar
Yazılım ve Kod hakkında sık sorulanlar
Refactor ne zaman yapılmamalı?
Yakın zamanda teslim edilecek bir sürüm varsa, test kapsamı yoksa veya kodu anlamadan yapılıyorsa. Refactor'un amacı gelecekteki değişikliği kolaylaştırmaktır; bu fayda somut değilse risk almaya değmez.
Yapay zekâ refactor'u güvenli mi?
Test kapsamı varsa evet, yoksa riskli. Model davranışı korumaya çalışır ama kenar durumları (null, boş liste, hata yolu) atlayabilir. En güvenli akış: önce test yazdırmak, sonra refactor yaptırmak, her adımda testleri çalıştırmak.
Kod ne kadar uzun olmalı?
Fonksiyon için 40-50 satır, dosya için 300-400 satır pratik üst sınırlardır. Bunlar mutlak kural değil, bir kokudur: sınırı aşan dosya genelde birden fazla sorumluluk taşıyordur.
Devamı
Bunlar da işinize yarar
Kod Yazma Promptu: Temiz, Test Edilebilir Fonksiyon
Belirsiz istek yerine sözleşme tanımlayan kod promptu: dil, sürüm, girdi/çıktı, hata durumları ve testler.
Orta ChatGPTClaudeKod Hatası Bulma (Debug) Promptu
“Neden çalışmıyor?” sorusunu sistematik bir teşhise çeviren, hipotez kurduran ve doğrulama adımı isteyen debug promptu.
Orta ChatGPTClaudePython Kod Yazdırma Promptu (Çalışan ve Açıklamalı)
“Bana bir script yaz” demek eksik kod getirir. Bu prompt girdiyi, çıktıyı, hata durumunu ve testi baştan tanımlar.
Orta ChatGPTClaudeHTML CSS Sayfa Promptu: Tek Dosyada Responsive
Landing page, portfolyo veya basit form: tek HTML dosyasında çalışan, mobil uyumlu ve erişilebilir sayfa üreten prompt.
OrtaBu sayfa CopyPromt editör ekibi tarafından hazırlandı, ilk yayın 24 Ekim 2026. Promptlar modelden bağımsız çalışacak şekilde yazılır; marka adları yalnızca tanımlama amacıyla anılır.