Kodlama istemleri

Günlük yazılım geliştirme işleri için istemler: Her dilde kod açıklama, hata ayıklama, test etme, yeniden düzenleme, inceleme ve belgeleme.

Bu kodlama promptları basit örnekler için değil, gerçek projeler için hazırlandı. Bilmediğiniz kodları açıklama, sıralı hipotezlerle hata ayıklama, birim testleri yazma, yeniden düzenleme (refactoring), diff incelemeleri, SQL, düzenli ifadeler (regex), Git kurtarma senaryoları, güvenlik kontrolleri, belgelendirme ve küçük script'ler gibi birçok konuyu kapsar. Çoğu her dilde çalışır: [köşeli parantezler] içine dili, framework'ü veya aracı yazın ve prompt'un belirttiği yere kodunuzu yapıştırın. Tüm dosyalar yerine kısa ve odaklanmış parçalar eklemek daha iyi sonuç verir.

Her prompt, doğrulayabileceğiniz çıktılar talep eder. Testler çalıştırılabilir, açıklamalar koda bakılarak kontrol edilebilir ve çözümler gerekçeleriyle sunulur. Bu da hatalı yanıtları fark etmeyi kolaylaştırır; çünkü yapay zeka bazen doğru görünen ancak uç durumlarda (edge case) patlayan veya var olmayan fonksiyonları kullanan kodlar üretebilir. Bir prompt'u editörünüze ya da notlarınıza almak için Kopyala butonunu, kodların vurgulanmış bloklar ve kopyalama butonuyla sunulduğu ChatG'de açmak içinse "Sohbette kullan" butonunu seçin.

Herhangi bir şey yapıştırmadan önce API anahtarlarını, şifreleri, token'ları ve müşteri verilerini temizleyin; ayrıca işvereninizin kodu harici yapay zeka servisleriyle paylaşmanıza izin verip vermediğini kontrol edin. Tekil sorular için Kod Asistanı daha pratiktir. İş akışları ve sınırlar hakkında ayrıntılı bilgi için Kodlama için yapay zeka ve Geliştiriciler için ChatG sayfalarına göz atabilirsiniz.

Bu prompt'ları nasıl uyarlayabilirsiniz?

  • Sürümleri ve kısıtlamaları belirtin: dil sürümü, framework, çalışma zamanı ortamı (runtime) ve "yeni bağımlılık ekleme" gibi kurallar ekleyin.
  • Girdiyi küçültün: sorunu net bir şekilde gösteren en küçük örneğe indirgeyin.
  • Sonucu tekrar yapıştırın: bir çözümü denedikten sonra, karşılaştığınız yeni hatalarla birlikte sonucu yapıştırıp bir sonraki adımı sorun.
  • Belirli bir çıktı biçimi isteyin: bir diff, tek bir fonksiyon veya seçenekleri gösteren bir tablo gibi.

Üretilen kodu çalıştırmadan önce mutlaka inceleyin ve ilk olarak güvenli bir ortamda test edin.

  1. 01

    Kodu kıdemli mühendis gibi açıkla

    Junior bir geliştiriciye mentorluk yapan kıdemli bir [dil] mühendisisiniz. Aşağıdaki kodun ne yaptığını adım adım açıklayın; ardından olağandışı, riskli veya yeniden düzenlenmeye (refactor) değer noktaları belirtin. Kod: [kodu yapıştırın]

    #açıklama Bu istemi kullan
  2. 02

    Olasılık sırasına göre hata ayıklama

    [Dil veya framework] kodum şu hatayı veriyor: [hatayı ve stack trace'i yapıştırın]. İlgili kod: [kodu yapıştırın]. En olası üç nedeni sırasıyla listeleyin, her birini nasıl doğrulayacağımı açıklayın ve en olası neden için çözüm kodunu sunun.

    #hata ayıklama Bu istemi kullan
  3. 03

    Uç senaryolarla birim testleri

    Aşağıdaki fonksiyon için [test framework'ü] kullanarak birim testleri yazın. Normal girdileri, sınır değerleri, boş veya null girdileri ve geçersiz türleri kapsayın; her testi denetlediği davranışa göre adlandırın. Fonksiyon: [fonksiyonu yapıştırın]

    #test Bu istemi kullan
  4. 04

    Davranışı bozmadan refactor et

    Bu [dil] kodunu, davranışını değiştirmeden daha okunabilir ve bakımı kolay olacak şekilde yeniden düzenleyin (refactor). Açık isimlendirmeler, daha küçük fonksiyonlar kullanın, kod tekrarını azaltın ve genel (public) arayüzü aynı tutun. Her değişikliği kısaca açıklayın. Kod: [kodu yapıştırın]

    #refactoring Bu istemi kullan
  5. 05

    Önem derecesine göre PR incelemesi

    Bu pull request farkını (diff) titiz ama yapıcı bir gözle inceleyin. Yorumlarınızı hatalar, güvenlik, performans ve kod stili olarak gruplayın; her birini engelleyici (blocking) veya isteğe bağlı olarak işaretleyin ve somut kod değişiklikleri önerin. Diff: [diff'i yapıştırın]

    #inceleme Bu istemi kullan
  6. 06

    Tablo tanımlarından SQL sorgusu

    Şu tabloları kullanarak [istediğiniz işlemi açıklayın] işlemini yapan bir [PostgreSQL, MySQL veya SQLite] sorgusu yazın: [tablo tanımlarını yapıştırın]. Sorguyu sade bir dille açıklayın ve tablolar büyükse indeks önerisinde bulunun.

    #sql Bu istemi kullan
  7. 07

    Test dizgileriyle düzenli ifade (Regex)

    [Dil veya araç] için [eşleşecek kalıbı açıklayın] kalıbıyla eşleşen ancak [istisnaları açıklayın] durumlarını dışarıda bırakan bir düzenli ifade (regex) yazın. Kalıbın her bölümünü açıklayın; eşleşmesi gereken beş ve eşleşmemesi gereken beş örnek metin verin.

    #regex Bu istemi kullan
  8. 08

    Kodu başka bir dile dönüştür

    Bu [kaynak dil] kodunu deyimsel (idiomatic) [hedef dil] koduna dönüştürün. Satır satır çevirmeyin; hedef dilin yaygın kütüphanelerini ve tasarım kalıplarını kullanın. Tamsayı bölmesi veya hata yönetimi gibi farklılık gösteren davranışları belirtin. Kod: [kodu yapıştırın]

    #dönüştürme Bu istemi kullan
  9. 09

    Doğrulamalı API uç noktası

    [Yapması gereken işlem] işlemini gerçekleştiren [HTTP yöntemi] [rota] için bir [framework] uç noktası yazın. Şu girdi alanlarını doğrulayın: [alanlar ve kurallar]; doğru durum kodlarıyla anlaşılır hata mesajları döndürün ve örnek bir istek ile yanıt ekleyin.

    #backend#api Bu istemi kullan
  10. 10

    Dry-run özellikli güvenli shell betiği

    [Görev, ör. bir klasördeki tüm fotoğrafları çekim tarihine göre yeniden adlandırma] görevini yapan bir [bash veya PowerShell] betiği yazın. Güvenli olmasını sağlayın: bir dry-run (deneme) seçeneği ekleyin, hatalarda çalışmayı durdurun ve ne yaptığını ekrana yazdırın. Her bölümü yorum satırlarıyla açıklayın.

    #betik yazma Bu istemi kullan
  11. 11

    Performans darboğazını bul ve çöz

    Bu [dil] fonksiyonu, yaklaşık [girdi boyutu] boyutundaki büyük girdilerde yavaş çalışıyor: [kodu yapıştırın]. Zaman ve bellek karmaşıklığını açıklayın, darboğazı tespit edin ve yeni karmaşıklığıyla birlikte daha hızlı bir sürüm önerin. Çıktı kesinlikle aynı kalmalıdır.

    #performans Bu istemi kullan
  12. 12

    Veritabanı şeması tasarla

    [Uygulamayı açıklayın, ör. küçük bir rezervasyon sistemi] için şu gereksinimlere sahip bir veritabanı şeması tasarlayın: [gereksinimler]. Tabloları, veri tipleriyle sütunları, anahtarları ve ilişkileri belirtin; uygulama büyüdükçe yeniden gözden geçireceğiniz bir tasarım tercihine değinin.

    #veritabanı#tasarım Bu istemi kullan
  13. 13

    Docstring ve yorum satırları ekle

    Aşağıdaki koda standart [dil] stiline uygun, anlaşılır docstring'ler veya yorum satırları ekleyin. Her fonksiyonun amacını, parametrelerini, dönüş değerlerini ve olası hataları açıklayın; kodun kendisini değiştirmeyin. Kod: [kodu yapıştırın]

    #dokümantasyon Bu istemi kullan
  14. 14

    Git krizinden güvenle çıkın

    Git'te şöyle bir durum yaşadım: [ne olduğunu açıklayın, örn. yanlış dala commit atıp push yaptım]. Neler olduğunu açıklayın, bunu güvenle düzeltecek net komutları verin ve paylaşılan geçmişi yeniden yazan komutlar konusunda beni uyarın.

    #git Bu istemi kullan
  15. 15

    Alıştırmalarla kavram öğrenin

    Bana [dil] dilinde [programlama kavramı, örn. özyineleme (recursion) veya closure] konusunu öğretin. Kısa bir açıklama ve yalın bir örnekle başlayın, ardından zorluğu giderek artan üç alıştırma verin. Her çözümden önce benim yanıtımı bekleyin.

    #öğrenme Bu istemi kullan
  16. 16

    Kod parçacığında güvenlik denetimi

    Bu [dil] kodunu; enjeksiyon, güvensiz deserialization, eksik girdi doğrulama, koda gömülü gizli anahtarlar ve zayıf kimlik doğrulama gibi güvenlik açıkları açısından inceleyin. Her sorun için riski açıklayın ve düzeltilmiş kodu gösterin. Kod: [kodu yapıştırın]

    #güvenlik Bu istemi kullan
  17. 17

    Diff çıktısından net commit mesajı

    Bu değişiklikler için, 72 karakterden kısa, emir kipiyle yazılmış bir özet satırı ve nelerin neden değiştiğini açıklayan bir gövde içeren commit mesajı yazın: [diff çıktısını açıklayın veya yapıştırın]

    #git#dokümantasyon Bu istemi kullan
  18. 18

    Kütüphaneleri veya yaklaşımları kıyaslayın

    Şu kısıtlamalara sahip bir [dil veya framework] projesinde [görev] yapmam gerekiyor: [kısıtlamalar, örn. küçük paket boyutu, yerel bağımlılık olmaması]. İki veya üç yaygın yaklaşımı veya kütüphaneyi artıları, eksileri ve ne zaman tercih edilecekleriyle bir tabloda karşılaştırın; resmi belgelerinden hangi detayları teyit etmem gerektiğini belirtin.

    #mimari Bu istemi kullan
  19. 19

    Erişilebilir kullanıcı arayüzü bileşeni

    [Bileşen, örn. sekme (tabs) arayüzü] için erişilebilir bir [framework veya saf HTML, CSS ve JavaScript] bileşeni oluşturun. Gereksinimler: [gereksinimler]. Klavye desteği, gereken yerlerde ARIA öznitelikleri ve kısa bir kullanım örneği ekleyin.

    #frontend#erişilebilirlik Bu istemi kullan
  20. 20

    Veri temizleme ve işleme betiği

    Şu sütunlara sahip bir [dosya türü, örn. CSV dosyası] dosyasını okuyan: [sütunlar], ardından [hesaplanacak veya dönüştürülecek işlem] işlemini yapıp sonucu [çıktı] konumuna yazan bir [dil] betiği yazın. Eksik değerleri ve hatalı satırları yönetin, en sonda da kısa bir özet yazdırın.

    #veri#betik Bu istemi kullan

Siz hazırsanız başlayalım

Sohbeti açın ve ilk sorunuzu sorun. Tamamen ücretsizdir ve yükleme gerektirmez.

Sohbete başlayın