GitHub'un yapay zeka kodlama asistanı Copilot'un iki yıldır ortalıkta olması, üreticiyi kod kalitesi konusunda derinlemesine bir çalışma yapmaya yöneltti. Yapay zeka yardımıyla oluşturulan kodun daha fazla birim testinden geçtiğini ve daha az hataya sahip olduğunu kanıtlayın. Gözden geçirenler ayrıca onu daha okunaklı ve güvenilir olarak değerlendirdi.
Duyuru
GitHub, en az beş yıllık profesyonel deneyime sahip 202 Python geliştiricisine, özellikle bir restoran derecelendirme sistemi olmak üzere bir web sunucusu için API uç noktası yazma görevi verdi. Bunlardan 104'ünün GitHub Copilot'u kullanmasına izin verildi, 98'inin yapay zeka asistanı kullanmasına ise hiç izin verilmedi. Test uzmanları, doğru işlevselliği doğrulamak için tüm örnekleri on birim testinden geçirdiler ve sonuç açıkça AI yardımının lehineydi: Tüm programların %60,8'i, Copilot ile on testin tümünü geçerken, yalnızca %39,2'si AI Yardımı olmadan geçti.
Kodları on testin tümünü geçen 25 seçilmiş geliştiriciden, programların kör, anonim incelemelerini yapmaları ve her programı toplam on kez kontrol etmeleri istendi. Bu aşamada hatalar artık işlevsel kusurlar değil, tutarlılık veya okunabilirlik açısından niteliksel kusurlar anlamına gelir: tutarsız adlar, belirsiz tanımlayıcılar, çok uzun satırlar, çok iç içe geçmiş döngüler, eksik yorumlar, tekrarlanan ifadeler (kendinizi tekrarlamayın) , DRY) veya saf olmayan Fonksiyonların bölünmesi.
Yapay zeka burada da iyi performans gösteriyor ancak o kadar net değil. İncelemeciler, yapay zekanın yardımıyla programlarda ortalama 4,63 hata, yapay zeka yardımı olmayan programlarda ise 5,35 hata buldu. Yapay zekanın yardımı olmadan hata başına kod satırı sayısı da daha yüksekti: 18,2 satırdan 16 satıra. Bu, özellikle kod şişkinliğinden ve DRY ilkesinin ihlalinden korkan eski çalışmaları çürütüyor. Son zamanlarda yapılan diğer çalışmalar da yapay zekanın kaliteyi arttırdığı fikrini destekliyor.
Ek olarak, gözden geçirenlerin kodun ne kadar okunabilir, güvenilir, bakımı yapılabilir ve özlü göründüğüne ilişkin daha yumuşak ifadeler sunması gerekir. Burada yardımcı pilot için yüzde 3 ila 5 arasında bir avantaj söz konusu ancak çalışma bu değerlerin nasıl elde edildiğini tam olarak açıklığa kavuşturmadı.
Çalışma aynı zamanda deneklerin yapay zekanın yardımıyla daha sık ve daha küçük olan taahhütlerine de baktı.
Sonuç olarak çalışma şunu öne sürüyor: “Bizim hipotezimiz, geliştiricilerin kodu işlevsel hale getirmek için daha az zamana ihtiyaç duymaları nedeniyle, kaliteyi artırmaya daha fazla odaklanmalarına olanak sağlamasıdır.”
(DSÖ)
Bir yanıt yazın