Analýza produkčního kódu s AI

Pokročilé programování s pomocí AI pro vývojáře

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Více než generování kódu

nanobanana: full: analýza produkčního kódu s AI

Pokročilé programování s pomocí AI pro vývojáře

Přehled kurzu

nanobanana: half: vývojář u stolu s více monitory

 

V tomto kurzu se naučíte:

  • Provádět analýzu kódu s AI pro produkční kód
  • Aplikovat testování s pomocí AI a bezpečnost
  • Využívat AI pro softwarový design a spolupráci
Pokročilé programování s pomocí AI pro vývojáře

Scénář: Wayfarer Labs

nanobanana: half: kancelář turistického startupu s mapami světa

 

  • 💻 Jste softwarový vývojář ve Wayfarer Labs
  • 🌎 Turistický startup budující mobilní platformu
  • 🔎 Váš úkol: najít open-source analytický nástroj
Pokročilé programování s pomocí AI pro vývojáře

Objev Atlasu

 

atlas-ch1.png

 

Klíčové otázky před přijetím:

  • Je udržovatelný?
  • Je spolehlivý?
  • Je solidním dlouhodobým přírůstkem?

 

🤖 AI může urychlit a systematizovat hodnocení kódu!

Pokročilé programování s pomocí AI pro vývojáře

Orientace v novém repozitáři

 

nanobanana: full: AI provází průzkumem nového repozitáře

Pokročilé programování s pomocí AI pro vývojáře

Strukturovaný prompt pro orientaci v kódové základně

prompt1-ch1.png

Pokročilé programování s pomocí AI pro vývojáře
Pokročilé programování s pomocí AI pro vývojáře

Strukturovaný prompt pro orientaci v kódové základně

 

atlas-command.png

Pokročilé programování s pomocí AI pro vývojáře

 

🤖 Prompt pro statickou analýzu:

Následující repozitář obsahuje Python analytický nástroj Atlas určený pro produkční prostředí.

Předpokládejte, že mám přístup k systému podobnému Unixu a mohu instalovat běžné open-source nástroje.

Chci provést statickou analýzu této kódové základny bez jejího spuštění.

 

Cílem je:

  • Doporučit vhodné nástroje pro statickou analýzu tohoto projektu
  • Vysvětlit, co každý nástroj měří a proč je relevantní
  • Poskytnout konkrétní příkazy ke spuštění analýzy
  • Vysvětlit, jak interpretovat klíčové výsledky
Pokročilé programování s pomocí AI pro vývojáře
Pokročilé programování s pomocí AI pro vývojáře

Dynamická analýza s pomocí AI

nanobanana: full: dynamická analýza a profilování

Pokročilé programování s pomocí AI pro vývojáře

Hodnocení kvality kódu s AI

 

🤖 Prompt pro udržovatelnost:

Analyzujte kódovou základnu z hlediska udržovatelnosti: identifikujte přetížené moduly, funkce s rozmazanými odpovědnostmi a místa, kde by jedna změna vyžadovala úpravy ve více souborech.

 

Problémy s udržovatelností:

  • Přetížené moduly
  • Rozmazané odpovědnosti
Pokročilé programování s pomocí AI pro vývojáře

Složitost a technický dluh

 

🤖 Prompt pro složitost:

Identifikujte oblasti s vysokou logickou složitostí se zaměřením na dlouhé funkce, vnořené podmínky a větvení.

Ukazatele složitosti:

  • Dlouhé funkce
  • Vnořené podmínky
  • Vysoké větvení

 

🤖 Prompt pro technický dluh:

Hledejte příznaky technického dluhu, jako jsou TODO, duplicitní logika nebo zastaralé vzory.

Příznaky technického dluhu:

  • TODO a FIXME
  • Duplicitní logika
  • Zastaralé vzory
Pokročilé programování s pomocí AI pro vývojáře

Závěr hodnocení

 

Závěr o Atlasu:

  • ✅ Dobře strukturovaná kódová základna
  • ✅ Vhodný k přijetí
  • 👀 Nejprve vyřešit problémy se složitostí
  • 👀 Adresovat technický dluh
Pokročilé programování s pomocí AI pro vývojáře

Refaktorování s pomocí AI

 

code-changes-ch1.png

 

AI nám také pomáhá:

  • Refaktorovat se zaměřením na změny s vysokým dopadem
  • Navrhovat záplaty
Pokročilé programování s pomocí AI pro vývojáře

Důležité upozornění

nanobanana: half: vývojář kriticky posuzuje návrhy AI

 

AI nenahrazuje technický úsudek

  • Může dělat chyby
  • Může přehlédnout kontext
  • Může halucinovat

✔ Při správném použití urychluje porozumění a pomáhá dělat lepší rozhodnutí o kódu

Pokročilé programování s pomocí AI pro vývojáře

Pojďme si procvičit!

Pokročilé programování s pomocí AI pro vývojáře

Preparing Video For Download...