
Bu rehber, ChatGPT'yi yazılım geliştirme sürecinde kod tamamlama, hata ayıklama, birim testi yazma, refaktör ve kod inceleme için nasıl daha etkili kullanacağınıza dair pratik prompt şablonları ve uygulama adımları içerir. ChatGPT gibi modeller, yazılım iş akışlarını hızlandırmaya yardımcı olabilir; bu konuda bir özet için TeknoCap rehberine bakabilirsiniz.
Akademik çalışmalar, prompt desenlerinin kod kalitesi ve tasarım diyaloglarında etkisini inceler; bu çalışmaları örnek olarak inceleyebilirsiniz: A Prompt Pattern Catalog ve ChatGPT Prompt Patterns for Improving Code Quality.
Amaç: Eksik veya yarım kalmış fonksiyonu tamamlamak; stil ve bağımlılıklar projeye uygun olsun.
Rol: Sen deneyimli bir [DİL] geliştiricisisin (ör. Python 3.10). Proje bağlamı: [KISA AÇIKLAMA]. Görev: Aşağıdaki yarım kalan fonksiyonu tamamla. Çıktı sadece tamamlanmış kod olsun; gerekliyse yalnızca gerekli import satırlarını ekle. Ek açıklama vermeyeceksin. Bağlam: [ör. kullandığımız paketler, performans beklentisi] Kod (tamamlanacak): [BURAYA KOD PARÇASI EKLE]
Açıklama: [DİL], [KISA AÇIKLAMA] ve kod parçasını doldurun. İstenirse "Çıktıyı 1 dosya halinde ver" gibi ek talimatlar ekleyin.
Amaç: Belirtilen hata mesajı veya beklenmeyen davranış için kök nedeni tespit edip kısa bir düzeltme önerisi üretmek.
Rol: Sen deneyimli bir hata ayıklama uzmanısın. İstenen: Verilen kodda bulunan hatayı analiz et, muhtemel neden(ler)i sırala ve en az değişiklikle uygulanabilir bir düzeltme öner. Ayrıca birim testi örneği (pytest/ünittest) ekle. Bağlam: [DİL ve sürüm], hata mesajı: "[HATA MESAJI]", beklenen davranış: "[BEKLENEN]". Kod: [BURAYA KOD PARÇASI] Çıktı formatı: 1) Kısa neden analizi 2) Önerilen düzeltme (kod parçası) 3) Kısa bir birim testi
İpucu: Hata mesajlarını, çağrı yığınını (stack trace) ve etkilenen satır numarasını verin. Model genelde mantıklı hipotezler üretir, fakat önerilen düzeltmeyi mutlaka test edin.
Amaç: Var olan fonksiyon ya da modül için otomatik test vakaları üretmek (pytest örneği).
Rol: Sen test yazmada deneyimli bir geliştiricisin. İstenen: Aşağıdaki fonksiyon/modül için minimal ama kapsamlı pytest testleri üret. Mock gerekli ise açıkla ve örnek mock kullanımını göster. Bağlam: [Proje bağımlılıkları] Kod: [BURAYA KOD PARÇASI] Çıktı: Tam pytest dosyası (sadece test kodu). Her test fonksiyonuna kısa açıklama ekle.
Not: Testlerin çalışması için bağımlılıkları (fixture, mock) belirtin. CI entegrasyonunda testleri otomatik çalıştırın.
Amaç: Fonksiyonel davranışı koruyarak kodu daha okunaklı ve sürdürülebilir yapmak.
Rol: Sen deneyimli bir yazılım mimarısın. İstenen: Aşağıdaki kodu davranışı koruyarak daha temiz, test edilebilir ve kısa hale getir. Her değişikliğin kısa gerekçesini yaz. Çıktı sadece refaktör edilmiş kod ve kısa madde madde değişiklikler olsun. Kod: [BURAYA KOD PARÇASI]
Uyarı: Refaktör sonrası otomatik testlerinizi çalıştırın; davranış korunmalı.
Amaç: PR diff veya kod parçası için performans, güvenlik, stil ve bakım riski değerlendirmesi yapmak.
Rol: Sen deneyimli bir kod inceleme uzmanısın. İstenen: Aşağıdaki diff/PR açıklamasına göre: - Bulunan sorunları öncelik ve şiddet (low/medium/high) ile sırala. - Her sorun için önerilen çözümü kısa göster. - Gerekirse ek test vakaları öner. PR/diff: [BURAYA DIFF VEYA KOD PARÇASI]
Senaryo A — Basit hata: Fonksiyon, belirli inputlarda IndexError veriyor. Prompt olarak hata mesajı, küçük kod parçası ve beklenen çıktı verin. Model genelde hatalı indeks kullanımını veya boş liste kontrolünü işaretler ve düzeltme önerir.
Senaryo B — Yeni bir özellik: Mevcut fonksiyona yeni bir parametre eklenmesi isteniyor. Prompt'ta API uyumluluğunu ve geriye dönük uyumu belirtin; model size patch ve gerekli testleri üretebilir.
Bu rehber, başlamanız için pratik bir set sunar; proje özelinde en iyi sonuçlar için promptları yineleyin ve otomatik-test + insan incelemesini süreçlerinizin merkezine koyun.
Yorumlar