ChatGPT mevcut kodunuzu nasıl yeniden yazabilir ve geliştirebilir?
Bu üretken yapay zeka aracının kod oluşturabileceğini biliyorduk, ancak ChatGPT'nin kodunuzu açıklayıp yeniden yazabileceğini de biliyor muydunuz? Belki de ona Kod Fısıldayan adını vermeliyiz.
Geçtiğimiz birkaç ay boyunca ChatGPT'nin kod oluşturma yeteneğini araştırıyorduk. ChatGPT "üretken yapay zeka" olarak kabul edilir ve bir komut isteminden kod oluşturmak, üretken terime kesinlikle uyar. Eksiksiz, çalışan bir WordPress eklentisinin nasıl oluşturulabileceğini ve hem ana akım hem de bilinmeyen düzinelerce dilde kod yazabileceğini gösterdik.
Ancak son zamanlarda yapılan bazı deneylerde başka bir yeteneğin farkına vardım: ChatGPT kodu okuyabilir ve yapısını çözebilir. Hata ayıklamaya yardımcı olacak bir araç olarak ChatGPT'yi kullanmayı keşfettiğimde bu yeteneğe dair bir ipucu aldık. Ona küçük bir kod bloğu ve bir hata mesajı verdim ve o da bana nerede hata yaptığımı gösterebildi.
Ancak bugün size ChatGPT'nin kodu anlamanıza ve potansiyel olarak yeniden yazmanıza nasıl yardımcı olabileceğini göstereceğim. Bu oldukça büyük bir olay.
JavaScript'i açıklama
Bunu göstermek için, giriş değerinin para birimi olup olmadığını doğrulayan küçük bir JavaScript kodu yığınıyla başlayacağım. Birinci ve üçüncü satırlarda nispeten gizemli bazı düzenli ifadeler kullanıyor ve bu konuda bize yardımcı olmasını isteyeceğiz.
ChatGPT'nin kodun ne yaptığını açıklamasını sağlayarak başlayalım. Bu çok güçlü bir yetenektir, özellikle de kodu başka bir programcıdan devralıyorsanız. ChatGPT'nin doğru olacağının garantisi olmasa da, bu, kodun nasıl çalıştığına dair fikir edinmenizi sağlayarak size saatler kazandırabilir. İstemi kullandım:
Aşağıdaki kodu açıklayın
ve kod bloğuna yapıştırdım. İşte ChatGPT'nin söyledikleri:
Bu yetenekle bazı ilginç şeyler yapabiliriz. Örneğin, ChatGPT'nin yeniden yazma kodunu alabiliriz. Örnek olarak ChatGPT'ye sordum:
Aşağıdaki satırı normal ifadeler kullanmayacak şekilde yeniden yazın:
return !isNaN(n) && n >= 0 && /^\d+(\.\d{1,2})?$/.test(str);
Aşağıdaki cevap hem normal ifadelerin kodu kısa tutma gücünü hem de ChatGPT'nin mevcut kodu alıp yeniden yazma yeteneğini gösterir:
GitHub deposundan açık kaynak C kodunu açıklama
Bu ikinci örnekte açık kaynaklı grafik editörü Gimp ile çalışıyorum. Açık kaynaklı uygulamanın .PSD içe aktarma bölümünde çalışan, 438. satırdan başlayan bir kod bloğuna bakacağız. İşte o kod:
Bir kez daha ChatGPT'den kodu açıklamasını istedim ve işte yanıtı:
Bunun daha da güçlü hale geldiği nokta, dil dönüşümlerini gerçekleştirmek için ChatGPT'yi kullanabilmenizdir. ChatGPT'den bunu orijinal C'den Python'a yeniden yazmasını istedim:
Bu kodu Python'da yeniden yazın ve mümkün olduğunca kısa ve öz yapın.
Hatta ChatGPT, koddan sonra şunu da not etti: Bellek yönetimi Python'un çöp toplayıcısı tarafından otomatik olarak işlendiğinden, orijinal koddaki g_free işlevi Python sürümüne dahil edilmemiştir.
Mevcut kodu iyileştirme
Bu örnekte, ChatGPT'ye kodumun özellikle memnun olmadığım bir bölümünü besledim. Kodum bir WordPress veritabanı araması yapıyor ve belirli öğeleri güncelliyor. İşte orijinal kod:
Diye sordum:
Aşağıdaki kodu geliştirebilir misiniz?
Bana yeni bir kod bloğu verdi:
Ayrıca bana ne yaptığına dair bir açıklama da verdi:
Burada bir tuhaflık var. Aynı kodu aynı sorgu üzerinden iki kez çalıştırdım. İkinci seferde başka bir iyileştirme daha yaptı: SQL sorgusu, SELECT kullanmak yerine yalnızca gerekli sütunları (seçenek_id, seçenek_adı ve seçenek_değeri) seçecek şekilde değiştirildi. Bu, gereksiz veri alımını azaltarak performansı artırabilir.
İşte o kod bloğu:
Kodun bu ikinci sürümü aslında en değerli değişikliği içeriyor ve veritabanı sorgusunun verimliliğini artırıyor. ChatGPT'ye tamamen aynı istemle beslenen aynı kodun iki farklı sonuç üretmesini tuhaf buluyorum.
Üçüncü kez denedim ve ChatGPT bana yorum yapılan bir satır ekleyen kodu verdi: SQL sorgusu, orijinal kodda yorumlanan option_value LIKE '%testy@test.com%' ek koşulunu içerecek şekilde değiştirildi .
İşte o kod:
Bu kesinlikle hayır-hayır. Kodu hiçbir zaman yeniden yazmamalı ve yorum yapılan kod satırına geri eklememelisiniz. Bu kod bir nedenden dolayı yorumlandı.
Düşünce için yiyecek
Yapay zekanın yeteneklerine ilişkin diğer birçok araştırmamızda olduğu gibi, bunun hem son derece kullanışlı hem de biraz çatlak olduğunu gördüm.
Son örneğimde, ChatGPT'nin bir kod bloğundan üç farklı sürüm döndürmesi biraz tuhaf. Ayrıca sorunlu: Üçüncü denemesinin, yorumlanmış bir kod satırı içerdiğinden esasen kullanılamaz olması.
Bir kez daha tavsiyem şu: Kodlama yardımı için ChatGPT'yi kullanmaktan çekinmeyin, ancak bunun tutarsız olduğunu unutmayın. Bu tutarsız sonuçları fark edecek kadar iyi kodlama bildiğinizden emin olun. Yeni başlayan bir kodlayıcıysanız, işinizi sizin yerinize yapması için ChatGPT'ye tamamen güvenmeyin. Size verdiği her şeyi incelediğinizden ve test ettiğinizden emin olun.
Kodu açıklamak veya yeniden yazmak için ChatGPT'yi kullandınız mı? Aşağıdaki yorumlarda bizimle paylaşın.
Günlük proje güncellemelerimi sosyal medyadan takip edebilirsiniz. Beni Twitter'da @DavidGewirtz adresinden, Facebook'ta Facebook.com/DavidGewirtz adresinden, Instagram'da Instagram.com/DavidGewirtz adresinden ve YouTube'da YouTube.com/DavidGewirtzTV adresinden takip etmeyi unutmayın.











