Yapım (production) kodunu yapay zekâ ile analiz etme

Geliştiriciler için İleri Seviye AI Destekli Kodlama

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Kod üretmenin ötesinde

nanobanana: full: yapay zekâ ile yapım kodunu analiz etme

Geliştiriciler için İleri Seviye AI Destekli Kodlama

Ders genel bakış

nanobanana: half: çoklu monitörlerle masada geliştirici

 

Bu derste şunları öğreneceksiniz:

  • ✔ Yapım kodu için YZ tabanlı kod analizi yapmak
  • YZ destekli test ve güvenlik uygulamak
  • Yazılım tasarımı ve iş birliği için YZ kullanmak
Geliştiriciler için İleri Seviye AI Destekli Kodlama

Senaryo: Wayfarer Labs

nanobanana: half: dünya haritalarıyla turizm girişimi ofisi

 

  • 💻 Wayfarer Labs'te bir yazılım geliştiricisiniz
  • 🌎 Bir turizm girişimi, bir hareketlilik platformu kuruyor
  • 🔎 Göreviniz: açık kaynak bir analitik araç bulmak
Geliştiriciler için İleri Seviye AI Destekli Kodlama

Atlas'ı keşfetme

 

atlas-ch1.png

 

Benimsemeden önceki kilit sorular:

  • Sürdürülebilir mi?
  • Güvenilir mi?
  • Uzun vadede sağlam bir ek mi?

 

🤖 YZ, kod değerlendirmesini hızlandırıp sistematikleştirebilir!

Geliştiriciler için İleri Seviye AI Destekli Kodlama

Yeni bir depoyu anlama

 

nanobanana: full: yeni bir depoyu keşfetmede yol gösteren yapay zekâ

Geliştiriciler için İleri Seviye AI Destekli Kodlama

Kod tabanına yönelim için yapılandırılmış istemler

prompt1-ch1.png

Geliştiriciler için İleri Seviye AI Destekli Kodlama
Geliştiriciler için İleri Seviye AI Destekli Kodlama

Kod tabanına yönelim için yapılandırılmış istemler

 

atlas-command.png

Geliştiriciler için İleri Seviye AI Destekli Kodlama

 

🤖 Statik analiz istemi:

Aşağıdaki depo, yapım ortamında kullanılmak üzere tasarlanmış Atlas adlı bir Python analitik araç kutusu içerir.

Unix benzeri bir sisteme erişimim olduğunu ve yaygın açık kaynak araçları kurabildiğimi varsayın.

Bu kod tabanında, çalıştırmadan statik analiz yapmak istiyorum.

 

Sizin amacınız:

  • Bu proje için uygun statik analiz araçlarını önermek
  • Her aracın neyi ölçtüğünü ve neden ilgili olduğunu açıklamak
  • Analizi çalıştırmak için somut komutlar vermek
  • Temel sonuçları nasıl yorumlayacağınızı açıklamak
Geliştiriciler için İleri Seviye AI Destekli Kodlama
Geliştiriciler için İleri Seviye AI Destekli Kodlama

YZ destekli dinamik analiz

nanobanana: full: dinamik analiz profil çıkarma

Geliştiriciler için İleri Seviye AI Destekli Kodlama

Yapay zekâ ile kod kalitesini değerlendirme

 

🤖 Sürdürülebilirlik (maintainability) istemi:

Kod tabanını sürdürülebilirlik riskleri için analiz edin: aşırı yüklenmiş modülleri, bulanık sorumlulukları olan işlevleri ve tek bir değişikliğin birden çok dosyada düzenleme gerektirdiği alanları belirleyin.

 

Sürdürülebilirlik sorunları:

  • Aşırı yüklenmiş modüller
  • Bulanık sorumluluklar
Geliştiriciler için İleri Seviye AI Destekli Kodlama

Karmaşıklık ve teknik borç

 

🤖 Karmaşıklık istemi:

Özellikle uzun işlevler, iç içe koşullar ve dallanma üzerinde durarak yüksek mantıksal karmaşıklık alanlarını belirleyin.

Karmaşıklık göstergeleri:

  • Uzun işlevler
  • İç içe koşullar
  • Yüksek dallanma

 

🤖 Teknik borç istemi:

TODO'lar, yinelenen mantık veya eski kalıplar gibi teknik borç işaretlerini arayın.

Teknik borç sinyalleri:

  • TODO'lar ve FIXME'ler
  • Yinelenen mantık
  • Eski kalıplar
Geliştiriciler için İleri Seviye AI Destekli Kodlama

Değerlendirme sonucu

 

Atlas için hüküm:

  • ✅ İyi yapılandırılmış kod tabanı
  • ✅ Benimsemek makul
  • 👀 Önce karmaşıklığı ele alın
  • 👀 Teknik borcu azaltın
Geliştiriciler için İleri Seviye AI Destekli Kodlama

YZ destekli yeniden düzenleme

 

code-changes-ch1.png

 

YZ bize ayrıca şunlarda da yardımcı olur:

  • Yüksek etki odaklı yeniden düzenleme (refactor)
  • Yama önerme
Geliştiriciler için İleri Seviye AI Destekli Kodlama

Önemli hatırlatma

nanobanana: half: önerileri eleştirel inceleyen geliştirici

 

YZ, mühendislik muhakemesinin yerine geçmez

  • Hata yapabilir
  • Bağlamı kaçırabilir
  • Halüsinasyon üretebilir

✔ Doğru kullanıldığında, anlamayı hızlandırır ve daha iyi kod kararları almamıza yardımcı olur

Geliştiriciler için İleri Seviye AI Destekli Kodlama

Hadi pratik yapalım!

Geliştiriciler için İleri Seviye AI Destekli Kodlama

Preparing Video For Download...