Yapay zeka ile geliştirici üretkenliğini artırma

Tamamlandı

GitHub Copilot Icon'ın siyah arka planlı metalik sürümünün diyagramı.

Bu ünitede GitHub Copilot'ın geliştirme iş akışlarını nasıl kolaylaştırıp geliştiricilerin rutin kodlama görevlerinde tıkanmak yerine karmaşık sorunları çözmeye odaklanmasına olanak tanıyacak şekilde inceleyeceğiz.

Bu ünitenin sonunda şunları yapabiliyor olacaksınız:

  • GitHub Copilot gibi yapay zeka destekli araçların yinelenen kodlama çalışmalarını nasıl azaltabileceğini anlayın.
  • İş akışınızda GitHub Copilot'un en büyük etkiyi yaratabileceği önemli alanları belirleyin.

Geliştirici üretkenliğini akışa eklemeye yönelik yaygın yapay zeka kullanım örnekleri

GitHub Copilot, yaygın geliştirme görevlerini hızlandırmak ve basitleştirmek için çeşitli yollar sunar. GitHub Copilot'ın özellikle yararlı olduğunu kanıtladığı bazı önemli alanları inceleyelim:

Yeni programlama dillerini ve çerçevelerini öğrenmeyi hızlandırma

Yeni programlama dillerini veya çerçeveleri öğrenmek zor olabilir, ancak GitHub Copilot bu süreci daha sorunsuz ve hızlı hale getirerek geliştiricilerin yeni kavramları hızla kavramasına ve bunları pratikte uygulamasına olanak tanır. GitHub Copilot, aşağıdakiler aracılığıyla öğrenme ve gerçek uygulama arasındaki boşluğu kapatmaya yardımcı olur:

  • Kod önerileri: Yeni çerçevelerle çalışırken geliştiricilere uygun kullanım ve uygulama konusunda yol gösteren, tanıdık olmayan işlevlerin ve kitaplıkların kullanımını gösteren bağlama duyarlı kod parçacıkları önerileri sunar.
  • Dil desteği: Çok çeşitli dilleri destekler ve bir dilden diğerine sorunsuz geçiş yapmaya yardımcı olur.
  • Belge tümleştirmesi: GitHub Copilot, API kullanımı ve işlev parametreleriyle ilgili satır içi öneriler sağlayarak sürekli dış belgelere başvurma gereksinimini azaltır.

Bir örneğe bakalım. Golang projesi üzerinde tanımadığınız bir dilde çalıştığınızı düşünün. GitHub Copilot kodu sizin için oluşturabilir. Ardından bağlam menüsündeki "Bunu açıkla" seçeneğini kullanarak kodun ne yaptığını açıklayabilirsiniz.

Öğrenmeyi hızlandırma'nın ekran görüntüsü.

Bağlam değiştirmeyi en aza indirme

Bağlam değiştirme, geliştiriciler için önemli bir üretkenlik kaybıdır ve iş akışınızı kesintiye uğratabilir ve odağı azaltabilir. GitHub Copilot, geçerli bağlamınız dahilinde ilgili kod önerileri sunarak odaklanmayı sürdürmenize yardımcı olur ve karmaşık sorunları çözmeye odaklanmanıza olanak sağlar. GitHub Copilot'ın bunu başarmaya yardımcı olması için aşağıdaki yollar şunlardır:

  • Düzenleyici içi yardım: GitHub Copilot doğrudan IDE'de kod önerileri sağlayarak çevrimiçi çözüm arama gereksinimini en aza indirir.
  • Hızlı başvurular: GitHub Copilot, API'ler veya kitaplıklarla çalışırken doğru yöntem çağrıları ve parametreleri önererek belgelere başvurma gereksinimini azaltır.
  • Kod tamamlama: GitHub Copilot, yinelenen kod desenlerini otomatik olarak tamamlayarak geliştiricilerin düşüncelerini kesintisiz olarak sürdürmesine olanak tanır.

Aşağıdaki örnekte, belgelere başvurmak için düzenleyiciden ayrılmanıza gerek kalmadan kodunuzda dış kaynaklarla (API'ler/kitaplıklar gibi) nasıl çalışabileceğinize dikkat edin. Bu, değerli zaman kazandırır ve daha stratejik görevlere odaklanmanıza, genel üretkenliği artırmanıza ve daha hızlı proje teslimine olanak tanır.

Bağlam Değiştirmeyi En Aza indirme işleminin ekran görüntüsü.

Gelişmiş belge yazma

GitHub Copilot, kod belgelerini yazma ve sürdürme sürecini önemli ölçüde geliştirir:

  • Satır içi açıklamalar: Karmaşık kod bölümlerini açıklayan bağlamsal olarak ilgili satır içi açıklamalar oluşturur.
  • İşlev açıklamaları: Parametre açıklamaları ve dönüş değeri ayrıntıları dahil olmak üzere işlev açıklamalarını otomatik olarak önerir.
  • BENİOKU oluşturma: Projenin kod tabanını temel alan yapı ve içerik önererek proje BENİOKU dosyalarının oluşturulmasına yardımcı olur.
  • Belge tutarlılığı: Proje genelinde tutarlı belge stilinin korunmasına yardımcı olur.

GitHub Copilot kodunuzu asimile edebilir ve işlevler veya kodun tamamı için ilgili açıklamalar veya belgeler yazmanıza yardımcı olabilir.

Gelişmiş Belge yazma ekran görüntüsü.

Sıkıcı şeyleri otomatikleştirme

GitHub Copilot, rutin kodlama görevlerini işleme konusunda uzmandır ve geliştiricilerin işlerinin daha karmaşık ve yaratıcı yönlerine odaklanması için zaman sağlar. Otomasyon için GitHub Copilot'dan yararlanmanın yolları şunlardır:

  • Ortak kod oluşturma: GitHub Copilot, REST API ayarlama veya sınıf yapısı oluşturma gibi yaygın işlevler için hızlı bir şekilde ortak kod üretebilir.
  • Örnek veri oluşturma: GitHub Copilot, test ederken el ile veri oluşturma işleminde zaman kazandırarak gerçekçi örnek veriler oluşturabilir.
  • Birim testleri yazma: GitHub Copilot, test çalışmaları önerebilir ve hatta önerilen koda göre birim testlerinin tamamını oluşturabilir.
  • Kod çevirisi ve yeniden düzenleme: GitHub Copilot, geliştirilmiş desenler veya daha verimli uygulamalar önererek ve hatta programlama dillerini dönüştürerek kod yeniden düzenlemeye yardımcı olur.

GitHub Copilot'ı kullanarak geliştirme sürecinizi hızlandırarak ortak kod oluşturabilirsiniz. Bu kod, gereksinimlerinizi karşılayacak şekilde özelleştirilebilir.

Sıkıcı şeyleri otomatikleştirme işleminin ekran görüntüsü.

Gelişmiş şablon otomasyon senaryoları

GitHub Copilot, genellikle el ile yapılması gereken daha karmaşık otomasyon görevlerini işleyebilir:

  • Veritabanı şeması ve ORM kurulumu: Basit varlık açıklamalarını temel alarak tam veritabanı modelleri, geçiş dosyaları ve ORM yapılandırmaları oluşturun.
  • API uç noktası iskelesi: Düzgün hata işleme, doğrulama ve belge açıklamaları ile REST API uç noktalarının tamamını oluşturun.
  • Yapılandırma yönetimi: Uygun ayarlarla farklı ortamlar (geliştirme, hazırlama, üretim) için yapılandırma dosyaları oluşturun.
  • Test altyapısı: Karmaşık test senaryoları için sahte veriler, fikstürler ve yardımcı işlevler de dahil olmak üzere eksiksiz test çerçeveleri ayarlayın.

Örneğin, copilot yeni bir mikro hizmet oluştururken Docker yapılandırmaları, CI/CD işlem hattı dosyaları ve hizmet gereksinimlerinizle ilgili birkaç açıklayıcı açıklamaya dayalı temel izleme kurulumu gibi proje yapısının tamamını oluşturabilir.

Uyarı

Karmaşık çok dosyalı üretimler daha fazla PRU (komple bir projenin iskelet yapısını oluşturma için yaklaşık 3-5 PRU) tüketir. Basit temel görevler tipik olarak 1-2 PRU kullanır. Premium İstek Birimleri hakkında daha fazla bilgi edinin.

Hikaye odaklı geliştirme otomasyonu

GitHub Copilot, basit kullanıcı hikayelerini ve özellik gereksinimlerini doğrudan eksiksiz, üretime hazır uygulamalara dönüştürme konusunda çok başarılıdır:

  • Özellik iskelesi: Üst düzey özellik açıklamalarını, veritabanı modelleri, API uç noktaları ve ön uç bileşenleri de dahil olmak üzere doğru ayrım ile eksiksiz kod yapılarına dönüştürün.
  • İş mantığı uygulaması: Doğrulama, veri dönüştürme ve iş akışı mantığı gibi yaygın desenleri otomatik olarak işleyen, düz dilde açıklanan iş kurallarına göre temel işlevler oluşturun.
  • Tümleştirme desenleri: Kimlik doğrulaması, günlük kaydı ve dış hizmet tümleştirmesi gibi uygulama ekosisteminizin farklı bölümlerini bağlamak için standartlaştırılmış desenler oluşturun.
  • Uçtan uca otomasyon: Tek bir kullanıcı hikayesinden arka uç mantığı, veritabanı değişiklikleri, API belgeleri ve temel ön uç uygulaması dahil olmak üzere tam özellik yığınını oluşturun.
  • Kalite yerleşik: İlk uygulamanın bir parçası olarak hata işleme, giriş doğrulama, günlüğe kaydetme ve temel güvenlik konularını otomatik olarak ekleyin.

Bu yaklaşım, kavramdan çalışan prototipe hızlı yineleme olanağı sağlayarak ekiplerin fikirleri hızla doğrulamasını ve geliştirme sürecinin erken aşamalarında geri bildirim toplamasını sağlar.

Pull isteği iş akışlarını hızlandırma

GitHub Copilot, gözden geçirmeye hazır değişiklikler oluşturarak ve geliştirmeden dağıtıma kadar olan süreyi azaltarak çekme isteği sürecini dönüştürür:

Üretime hazır kod oluşturma

Özellikler veya hata düzeltmeleri üzerinde çalışırken Copilot, gözden geçirme döngülerini en aza indiren kapsamlı değişiklikler oluşturmaya yardımcı olur:

  • Tam uygulamalar: Düzgün hata işleme, günlüğe kaydetme ve uç servis talebi kapsamı ile tam özellik uygulamaları oluşturun.
  • Tutarlı kod desenleri: Yeni kodun, yerleşik proje kurallarını ve mimari desenlerini izlediğini doğrulayın.
  • Belge tümleştirmesi: İlk kod oluşturma işleminin bir parçası olarak satır içi yorumları, fonksiyon belgelerini ve README güncellemelerini ekleyin.
  • Test kapsamı: Yeni işlevlerin yanı sıra ilgili birim testlerini, tümleştirme testlerini ve örnek kullanımı oluşturun.

Akıllı kod gözden geçirme yardımı

Copilot, gözden geçirme için kod hazırlamaya yardımcı olabilir ve hatta gözden geçirme işlemi sırasında yardımcı olabilir:

  • Gönderim öncesi kalite denetimleri: Pull request oluşturmadan önce, olası sorunları belirlemek, iyileştirmeler önermek ve kod kalitesi standartlarının karşılandığından emin olmak için Copilot'ı kullanın.
  • Yorum taslağını gözden geçirme: Sorunları net bir şekilde açıklayan yapıcı, belirli gözden geçirme yorumları oluşturun ve kod örnekleriyle somut iyileştirmeler önerin.
  • Hızlı yineleme: Gözden geçirenler değişiklik istediğinde, Copilot hemen birden çok uygulama alternatifi oluşturabilir ve yazarların kapsamlı yeniden yazmadan en iyi yaklaşımı seçmesine olanak sağlar.
  • Belge iyileştirmesi: Gözden geçiren sorulara ve geri bildirimlere göre kod açıklamalarını ve belgelerini otomatik olarak iyileştirerek gelecekteki bakımcılar için netlik sağlayın.
  • Çakışma çözümü: Her iki kod dalının amacını anlayarak ve en iyi tümleştirme yaklaşımlarını önererek birleştirme çakışmalarını çözme konusunda yardımcı olun.

Bu kolaylaştırılmış yaklaşım, gerekli gözden geçirme turlarının sayısını önemli ölçüde azaltarak yüksek kod kalitesi standartlarını korurken daha hızlı özellik teslimi sağlar.

Uyarı

Copilot'tan bir çekme talebi için birden çok yeniden düzenleme taslağı istemek, taslak başına 2-3 PRU tüketebilir. Premium İstek Birimleri hakkında daha fazla bilgi edinin.

İşbirliğine dayalı geliştirme iş akışları

Copilot, farklı geliştiricilerin katkılarında tutarlılık ve kalite sağlayarak ekip işbirliğini geliştirir:

  • Kod standardizasyonu: Ekip üyeleri arasında tutarlı kodlama stillerinin ve desenlerinin korunmasına yardımcı olun.
  • Bilgi paylaşımı: Genç geliştiricilerin üst düzey desenlerden öğrenmelerine yardımcı olarak ekip için en iyi yöntemleri takip eden kodlar oluşturun.
  • Bağlam koruması: Copilot, başka birinin çalışmasını devralırken mevcut kodu anlamanıza ve geliştirmeye aynı stilde devam etmelerine yardımcı olabilir.
  • Birleştirme çakışması çözümü: Her iki kod dalının amacını anlayarak karmaşık birleştirme çakışmalarını çözmeye yardımcı olun.

Yapay zeka iş akışlarını düzenleme

Modern geliştirme, geliştirme sürecinin farklı yönleri arasında eşgüdümlü yapay zeka yardımından giderek daha fazla yararlanır. GitHub Copilot, birden çok yapay zeka özelliklerinin birbirini tamamladığı, düzenlenmiş iş akışlarının bir parçası olarak çalışabilir:

Çok aracılı geliştirme desenleri

Farklı yapay zeka aracılarının özellik geliştirmenin farklı yönlerini ele aldığı bir iş akışı düşünün:

  1. Taslak aracı: Copilot, özellik gereksinimlerine göre ilk kod uygulamaları oluşturur
  2. İnceleme ajanı: İkincil yapay zeka, kod kalitesini, güvenlik sorunlarını ve proje standartlarına uygunluğu değerlendirir.
  3. Belge aracısı: Kod değişikliklerine göre belgeleri otomatik olarak oluşturur veya güncelleştirir
  4. Test aracısı: Yeni işlevsellik için kapsamlı test paketleri oluşturur

Bu düzenlemeli yaklaşım, yüksek kalite standartlarını korurken geliştirme görevlerinin kapsamlı kapsamını sağlar. Her bileşen, kendi alanına özel bir odak getirdiği için daha kapsamlı ve üretime hazır kod ortaya çıkarır.

Uyarı

Her aktarım yaklaşık olarak 1 PRU tüketir. 2 aracılı taslak-gözden geçirme akışı genellikle 2-3 PRU kullanır.

Gelişmiş akıl yürütme özellikleri

GitHub Copilot, karmaşık geliştirme senaryoları için daha derin analiz ve daha gelişmiş kod oluşturma özellikleri sunan premium akıl yürütme modları sunar:

  • Gelişmiş bağlam anlayışı: Daha büyük kod temellerini ve bileşenler arasındaki daha karmaşık ilişkileri analiz eder
  • Gelişmiş mimari öneriler: Sistem tasarımı ve tümleştirme desenleri için öneriler sağlar
  • Karmaşık yeniden düzenleme yardımı: İşlevselliği korurken karmaşık kod dönüşümlerini işler
  • Çoklu dosya koordinasyonu: Tutarlılığı korurken birden çok dosyadaki değişiklikleri düzenler

Uyarı

Premium çalıştırmalar daha fazla bağlam ve mantık ekler, ancak genellikle PRU tüketimini ikiye katlar (istek başına yaklaşık 4'ten fazla).

Otomatik hikaye tamamlama iş akışları

GitHub Copilot, otomatik iş akışları aracılığıyla kullanıcı hikayelerini ve gereksinimlerini eksiksiz, dağıtılabilir özelliklere dönüştürebilir:

  • Gereksinimleri ayrıştırma: Uygulama planları oluşturmak için kullanıcı hikayelerini ve kabul ölçütlerini analiz etme
  • Özellik iskelesi: Denetleyiciler, hizmetler, modeller ve testler dahil olmak üzere eksiksiz özellik yapıları oluşturma
  • Tümleştirme kurulumu: Yeni özellikleri mevcut sistem bileşenleriyle tümleştirmek için gerekli kodu oluşturma
  • Kalite güvencesi otomasyonu: Yeni özellikler için kapsamlı hata işleme, kaydedilmesi ve izleme içerir

Bu yaklaşım, kavramdan çalışan yazılıma hızlı ilerleme sağlar ve fikir ile uygulama arasındaki süreyi önemli ölçüde azaltır.

Kişiselleştirilmiş kod tamamlama

GitHub Copilot, bireysel kodlama stillerine ve proje bağlamlarına uyum sağlayarak zaman içinde giderek daha ilgili öneriler sunar ve kod verimliliğini artırır. GitHub Copilot,kişiselleştirilmiş kod tamamlama işlemlerini şu şekilde gerçekleştirmektedir:

  • Bağlamsal anlama: GitHub Copilot, daha doğru ve ilgili kod tamamlamaları sunmak için geliştirme ortamını ve proje yapısını analiz eder.
  • Desenlerden öğrenme: Geliştiriciler bir proje üzerinde çalışırken GitHub Copilot, kodlama desenlerinden ve tercihlerinden öğrenerek önerileri uygun şekilde uyarlar.

Aşağıdaki örnekte GitHub Copilot'un yazma işlevlerinin stilini nasıl önerdiğine dikkat edin, ancak tercih edilen bir stil kullanıldığında, tercih edilen stille önerilere uyarlanıp devam etti.

Kişiselleştirilmiş kod tamamlamanın ekran görüntüsü.

Geliştiriciler GitHub Copilot'ı bu yollarla kullanarak rutin görevlere harcanan süreyi önemli ölçüde azaltabilir, yeni teknolojileri öğrenmelerini hızlandırabilir ve iş günleri boyunca daha iyi odaklanmayı sürdürebilir. Bu gelişmiş üretkenlik, karmaşık sorunları çözmeye ve projeleri içinde yenilik yapmaya daha fazla zaman ayırmanızı sağlar.

Sonraki ünitede GitHub Copilot'un yaygın geliştirici tercihleri ve iş akışlarıyla nasıl uyumlu olduğunu keşfedeceğiz.