Analiza kodu produkcyjnego z AI

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Poza generowaniem kodu

nanobanana: full: analiza kodu produkcyjnego z AI

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Przegląd kursu

nanobanana: half: programista przy biurku z wieloma monitorami

 

W trakcie kursu nauczysz się:

  • Wykonywać analizę kodu z użyciem AI dla kodu produkcyjnego
  • Stosować testowanie wspierane przez AI oraz bezpieczeństwo
  • Używać AI w projektowaniu oprogramowania i współpracy
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Scenariusz: Wayfarer Labs

nanobanana: half: biuro turystycznego startupu z mapami świata

 

  • 💻 Jesteś programistą w Wayfarer Labs
  • 🌎 Startup turystyczny budujący platformę mobilności
  • 🔎 Twoje zadanie: znaleźć narzędzie analityczne open-source
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Odkrywanie Atlasa

 

atlas-ch1.png

 

Kluczowe pytania przed wdrożeniem:

  • Czy jest pielęgnowalny?
  • Czy jest niezawodny?
  • Czy to solidny długoterminowy wybór?

 

🤖 AI może pomóc przyspieszyć i usystematyzować ocenę kodu!

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Poznawanie nowego repozytorium

 

nanobanana: full: AI prowadzące eksplorację nowego repozytorium

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Ustrukturyzowany prompting do orientacji w kodzie

prompt1-ch1.png

Zaawansowane programowanie wspomagane przez AI dla deweloperów
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Ustrukturyzowany prompting do orientacji w kodzie

 

atlas-command.png

Zaawansowane programowanie wspomagane przez AI dla deweloperów

 

🤖 Prompt do analizy statycznej:

Poniższe repozytorium zawiera zestaw narzędzi analitycznych w Pythonie o nazwie Atlas, przeznaczony do użytku w środowisku produkcyjnym.

Zakładam dostęp do systemu uniksowego i możliwość instalacji popularnych narzędzi open-source.

Chcę przeprowadzić analizę statyczną tej bazy kodu bez jej uruchamiania.

 

Cel to:

  • Zalecenie odpowiednich narzędzi do analizy statycznej
  • Wyjaśnienie, co każde narzędzie mierzy i dlaczego jest przydatne
  • Podanie konkretnych poleceń do wykonania analizy
  • Wyjaśnienie, jak interpretować kluczowe wyniki
Zaawansowane programowanie wspomagane przez AI dla deweloperów
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Analiza dynamiczna wspierana przez AI

nanobanana: full: profilowanie w analizie dynamicznej

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Ocena jakości kodu z AI

 

🤖 Prompt dotyczący pielęgnowalności:

Przeanalizuj bazę kodu pod kątem problemów z pielęgnowalnością: zidentyfikuj przeciążone moduły, funkcje z rozmytymi odpowiedzialnościami oraz miejsca, w których jedna zmiana wymagałaby edycji w wielu plikach.

 

Problemy z pielęgnowalnością:

  • Przeciążone moduły
  • Rozmyte odpowiedzialności
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Złożoność i dług techniczny

 

🤖 Prompt dotyczący złożoności:

Zidentyfikuj obszary o wysokiej złożoności logicznej, skupiając się na długich funkcjach, zagnieżdżonych warunkach i rozgałęzieniach.

Wskaźniki złożoności:

  • Długie funkcje
  • Zagnieżdżone warunki
  • Wysokie rozgałęzienie

 

🤖 Prompt dotyczący długu technicznego:

Poszukaj oznak długu technicznego, takich jak TODO, zduplikowana logika czy przestarzałe wzorce.

Sygnały długu technicznego:

  • TODO i FIXME
  • Zduplikowana logika
  • Przestarzałe wzorce
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Wniosek z oceny

 

Ocena Atlasa:

  • ✅ Dobrze zorganizowana baza kodu
  • ✅ Zasadna do wdrożenia
  • 👀 Najpierw rozwiązać problemy ze złożonością
  • 👀 Zająć się długiem technicznym
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Refaktoryzacja wspierana przez AI

 

code-changes-ch1.png

 

AI może też pomóc w:

  • Refaktoryzacji z naciskiem na zmiany o dużym wpływie
  • Proponowaniu poprawek
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Ważna uwaga

nanobanana: half: programista krytycznie oceniający sugestie AI

 

AI nie zastępuje inżynierskiego osądu

  • Może popełniać błędy
  • Może pominąć kontekst
  • Może halucynować

✔ Używane prawidłowo, przyspiesza rozumienie i pomaga podejmować lepsze decyzje projektowe

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Czas na ćwiczenia!

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Preparing Video For Download...