Menu

Tip: Jak vám AI může pomoci v programování?

Umělá inteligence je teď hodně aktuální téma. A může vám pomoci i s programováním. Konkrétně jde o užitečný nástroj Copilot, který vám ušetří spoustu času a zároveň pomůže zkvalitnit vaši práci. A jak funguje v praxi? Představuje Michal Zíma, šéf týmu programátorů Modrého ducha.

Copilot – užitečný pomocník

Copilot pro programování je nástroj vyvinutý společností OpenAI, který slouží jako pomocník při psaní kódu. Jeho základy spočívají v technologii nazývané generativní předmodelování (generative pre-training) a je postaven na technologii strojového učení, přičemž využívá rozsáhlé množství veřejně dostupného programovacího kódu a dokumentace.

Když tedy začnete psát kód v editoru, Copilot automaticky generuje návrhy a doplňuje kódy na základě kontextu. Může například doplnit chybějící řádky, navrhnout jména proměnných, funkce nebo třídy, a dokonce i psát celé metody nebo funkce na základě vašeho popisu.

Zároveň využívá svůj rozsáhlý tréninkový korpus, který zahrnuje množství veřejně dostupného kódu z různých programovacích jazyků a projektů. Díky tomu je schopen rozpoznat vzory, porozumět kontextu a generovat relevantní kódy.

Spolu s tím dokáže zobrazit dokumentační komentáře ke zvolenému kódu nebo nabídnout vysvětlující komentáře k funkcím a metodám. To může být velmi užitečné při práci s neznámými knihovnami nebo kódy, se kterými nejste obeznámeni.

Vývojáři navíc mohou Copilota využívat ve svých oblíbených vývojových prostředích (IDE) nebo textových editorech pomocí rozšíření, které je k dispozici pro různé platformy.

Hodí se do párového programování

Párové programování je metodika vývoje, při které dva programátoři spolupracují na jednom úkolu nebo problému za účelem vytvoření kvalitnějšího kódu. S sebou tím pádem nese několik výhod: 

  1. Vylepšení kvality kódu: Díky spolupráci a vzájemné kontrole při párovém programování je pravděpodobnost objevení chyb nebo nedostatků v kódu vyšší. Dva programátoři společně přemýšlí, navrhují a kódují, což zvyšuje kvalitu výsledného kódu.
  2. Rychlejší řešení problémů: Dva lidé mají lepší šance na nalezení rychlého a efektivního řešení problému. Párovým programováním lze snížit čas strávený hledáním chyb, odstraňováním problémů a laděním kódu.
  3. Společné vlastnictví kódu: Pároví programátoři mají hlubší porozumění kódu a sdílejí si znalosti. To znamená, že každý člen týmu může efektivně pracovat na jakémkoli úseku kódu a vyvážit závislosti na jednotlivých programátorech.
  4. Učení a výměna zkušeností: Párové programování umožňuje sdílení znalostí mezi dvěma programátory. Mladší členové týmu se mohou učit od zkušenějších a získávat nové perspektivy. To přispívá k rozvoji dovedností celého týmu.

Cílem je tedy zajistit a podchytit nuance na základě vzájemné kontroly. Když však využijete schopnosti AI může to pro vás být nejen rychlejší, ale i levnější. Mnoho vývojářů tvrdí, že párové programování vede k lepšímu kódu, vyšší spokojenosti týmu a snížení rizika výskytu chyb.

Nepřeslechněte: No-code, nebo hard-code? Kdy se vyplatí aplikaci „naklikat” a kdy je ještě potřeba napsat zdrojový kód? Poslechněte si BlueGhost Update, kde odpovídají Marek Jalovec ze společnosti FINN a Ondřej Veselý z Make.com

S čím konkrétně může pomoci 

Několik funkcí jsme nakousli na začátku, ale pro přehled vše shrneme:  

  1. Automatické doplňování kódu: Copilot automaticky generuje návrhy kódu na základě toho, co píšete. Může doplnit chybějící kódové úseky, navrhnout jména proměnných nebo tříd, generovat funkce a metody a další.
  2. Kontextuální porozumění: Copilot je schopen porozumět kontextu vašeho kódu a předcházet vašim akcím. Na základě toho dokáže nabídnout přesné a relevantní návrhy kódu, které odpovídají vašim potřebám.
  3. Zobrazení dokumentace: Copilot může zobrazovat dokumentační komentáře a informace o funkcích, metodách a knihovnách, které používáte. Tímto způsobem vám může poskytnout rychlý přehled o funkčnosti a použití různých částí kódu.
  4. Podpora různých programovacích jazyků: Copilot je vyškolen na široké množství programovacích jazyků a projektů. Může tedy poskytovat návrhy kódu a dokumentaci pro různé jazyky, jako jsou JavaScript, Python, C++, Java, Ruby a další.
  5. Návrhy refactorizace: Copilot může navrhovat zlepšení a refactorizace existujícího kódu. Může upozornit na možné problémy, předložit optimalizace a přispět k zvýšení kvality kódu.
  6. Tvorba automatizovaných testů: Bolístka některých programátorů, protože na testy nebývá čas, Copilot jej ale bude mít vždycky a můžete jej pro ně využít.  
  7. Zlepšení kompetencí: Copilot vám může pomoci i s věcmi, které nejsou úplně vaší doménou, pokud například řešíte raději backend a frontend vám nic neříká, může z vás díky tomuto pomocníkovi být v podstatě full-stackový vývojář.

Jak Copilot funguje v praxi 

Pro ukázku si můžeme vzít třídu, která odesílá data do Google Tag Manageru (GTM). Při zadávání údajů Copilot rovnou předpovídá data a vypíše jednotlivé parametry.  

Kód vypadá dobře. Ale některé nuance je ještě potřeba doladit – zejména, aby nedocházelo k doplňování konkrétních dat. Zadání tedy musíme upřesnit o funkci proměnné. Přidáme proměnnou data a necháme Copilota pracovat. Následně vidíme, že doplnil potřebné údaje, které odpovídají a jsou správně definovány.

Jako další ukázku si můžeme vzít vygenerování dokumentace. Pokud máte starší funkci, můžete se Copilota zeptat, o čem je. V našem případě jde o funkci generování menu.

Můžeme se ale zároveň zeptat na upřesnění. Následně vidíme, že jde o funkci pro generování menu v horizontálním tvaru se dvěma úrovněmi vnoření (používáme se v šabloně).

Zde však pozor, může to vypadat jako analýza kódu, ale úplně tomu tak není. Copilot dokáže pouze dobře rozeznat, co psal někdo k dané problematice před vámi.

Jako třetí ukázku můžeme vzít objektové programování: zkusíme zadat jednoduchou třídu pro práci s adresou. Napíšeme tedy základní parametry Třída pro práci s adresou v rámci České republiky. Jak vidíme, vygenerovaný kód obsahuje konstruktor, vnitřní proměnné a get adress. Vše vypadá v pořádku. 

Nepřehlédněte: Chcete si nechat vyvinout aplikaci, potřebujete dobré zadání a baví vás umělá inteligence? Pak vyzkoušejte AI asistenta Modrého ducha. Unikátní novinku, která vám se zadáním ušetří spoustu času. 

Vždy se poraďte s profíky

Byť je Copilot šikovným pomocníkem, který může vývoj opravdu urychlit, je důležité si uvědomit, že je to nástroj, který generuje návrhy kódu na základě tréninkového datasetu a kontextu. Neměl by to sloužit jako úplná náhrada za vlastní programátorské schopnosti a rozhodování.

Výstupy je potřeba kontrolovat, a to nejen z hlediska správnosti, ale především bezpečnosti.

Proto je důležité se obrátit na někoho s dlouholetými zkušenostmi, kdo tyto nástroje dobře zná a je schopen vám s těmito nástroji pomoci, umí je využívat a zároveň doplní své know-how. Tak by to ostatně mělo platit v celém kontextu současného rozmachu umělé inteligence, ne jen z hlediska programování. 

Jak se vám článek líbil?

5

Praktický

4

Inspirující

0

Zábavný

1

Nic moc

Pojďme vytvořit skvělý produkt

Domluvme si schůzku. Chcete si nejprve utřídit myšlenky? Navrhněte si zadání nanečisto s AI asistentem.