1. Ana Sayfa
  2. Yazılım

GitHub Copilot ile Yazılım Geliştirme Sürecinizi Nasıl Hızlandırabilirsiniz?

GitHub Copilot ile Yazılım Geliştirme Sürecinizi Nasıl Hızlandırabilirsiniz?
0

29 Haziran 2021 tarihinde duyurusu yapılan ve “Your AI Pair Programmer” olarak lanse edilen GitHub Copilot, kod yazarken eş zamanlı olarak bize yazmak istediğimiz satır ya da bütün kod bloğunu tahmin ederek bize zaman kazandıran bir Visual Studio Code eklentisi olarak özetlenebilir. İlk gördüğümde 2014 yılında yazdığım “Çok Kullanılan Kod Parçacıklarını Bing Code Search for C# ile Kullanma” isimli makaleyi anımsatsa da aslında çok daha gelişmiş özellikleri olduğunu belirtmek isterim. GitHub Copilot, OpenAI isimli şirket ile arka planda OpenAI Codex kullanılarak geliştirilmiş; internette yer alan açık kod ve metinleri kullanıyor ve bizim kabul ettiğimiz önerilere göre de öğrenme sağlıyor (Resim-1).

Resim-1

Kullanmaya başlamak için Visual Studio Code’a bir eklenti kurmanız yeterli ancak şu anda technical preview aşamasında olduğu için öncesinde test için bekleme listesine kaydolmanız ve kabul almanız gerekiyor. Bekleme listesine GitHub hesabınız ile buradan kaydolabilirsiniz. Eklentiyi kurmak için kaydolmaya gerek yok ancak kurulum sonrasında GitHub hesabınızla giriş yapmanızı isteyeceği için eğer listede kayıtlı değilseniz sizi bekleme listesi kayıt sayfasına yönlendiriyor. Eklentiyi de buradan indirebilirsiniz.

Resim-2

GitHub Copilot ne kadar işime yarayabilir diye düşünüyorsanız, birkaç örnek üzerinden anlatmakta fayda var. İlk denememizi bir console uygulaması üzerinde yapalım. Bir zamanlar iş görüşmelerinin vazgeçilmez sorularından Fibonacci serisini ekrana yazdıran bir console uygulaması için artık sadece birkaç tab ve enter tuşuna basmak yeterli. Öncelikle yapmamız gereken GitHub Copilot’ın ne yapmak istediğimizi daha iyi anlayabilmesi için açıklayıcı bir metot ismi vermek. Resim-3’te göreceğiniz gibi CalculateFibonacciSeries adında bir metot yazmaya başladım ve bana parametre olarak (int count) önerisi geldi. Tab’a basarak öneriyi kabul ediyorum.

Resim-3

Metot içerisine gelir gelmez ise bana ilk satırı da öneriyor (Resim-4) ve tekrar tab’a basarak öneriyi kabul ediyorum.

Resim-4

Enter ile bir alt satıra geçiyorum ve yine bir öneri geliyor. Benzer şekilde tab ile kabul ettikten sonra tekrar alt satıra geçiyorum ve bu şekilde metotu tamamlayana kadar tab, enter şeklinde ilerliyorum.

Resim-5

Resim-6

Resim-7

Resim-8

Resim-9

Son olarak bize metot çağırmak kalıyor.

Resim-10

Buraya kadar her şey çok iyi görünüyor, bir deneme daha yapalım. Metot içeriğini sildim ve bu kez bana Console.WriteLine ile başlayan bir kod önerdi. Kod üzerine fare imlecini götürdüğümde bir menü çıkıyor. Burada Next (bir sonraki öneri), Previous (bir önceki öneri), Accept (Tab) (öneriyi kabul et) ve Open Copilot seçenekleri yer alıyor.

Resim-11

Open Copilot seçeneği ile sağ tarafta bir ekran açılıyor ve burada 10 tane çözüm önerisi ile karşılaşıyorum. Accept Solution’a tıkladığımda ise seçili kod bloğunun tamamını metoduma ekleyebiliyorum. Böylece farklı yazım tarzları arasında bir tercih yapma şansım da oluyor (Resim-12).

Resim-12

Bu kez de Copilot’u biraz daha zorlamak için metot adını bu kadar açıklayıcı yazmak istemiyorum. GuessFromComment adında bir metot yazıyorum ancak bu kez summary altına methodun ne yapacağını açıklamak için “This method calculates fizzbuzz” yazıyorum. Resim-11’daki örneğe benzer şekilde ilk satırdaki öneri üzerinden Open Copilot seçeneği ile FizzBuzz örneklerini görebiliyorum (Resim-13).

Resim-13

Bunun gibi birçok örnek yapabilirsiniz. Henüz preview aşamasında olduğu için release olana kadar birçok güncelleme alacaktır ancak bu haliyle bile sonuçlar gerçekten başarılı görünüyor. GitHub Blog üzerinde “technical preview şu anda en iyi Python, JavaScript, TypeScript, Ruby ve Go ile çalışıyor” yazmasına rağmen C# ile de yeterince iyi çalıştığını söyleyebilirim.

Bu konuyla ilgili sorularınızı http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

GitHub Copilot · Your AI pair programmer

Introducing GitHub Copilot: your AI pair programmer | The GitHub Blog

OpenAI

TAGs: GitHub, GitHub Copilot, .NET, C#, Development, AI, OpenAI, OpenAI Codex, Fibonacci, FizzBuzz, Visual Studio Code, VSCode

 

Bu İçeriğe Tepkin Ne Oldu?
İlginizi Çekebilir

Yazar Hakkında

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'nde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir.

Yorum Yap