ChatGPT — dobrý sluha programátora

Dominik Veselý
4 min readJan 8, 2023

--

Službu GPT-3 jsem od začátku nevnímal jako “náhradu” za lidi, nebo že bude přímo pracovat za mě, jak tu někteří straší :). Od začátku jsem v ní viděl skvělého pomocníka pro ulehčení práce. Nedávno jsem objevil jeden konkrétní use-case, který pomůže všem programátorům a testerům automatizovat činnost, kterou nenávidí a kterou mi přijde, že ostatní opomíjí.

Jsem asi poslední člověk, co píše svoje poznatky na ChatGPT, takže službu nebudu nijak představovat a půjdu rovnou k věci.

Vtipy o tom, jak jsou programátoři líní a raději si napíšou za 3 hodiny script, než aby 1 hodinu dělali nějakou nudnou / repetitivní činnost určitě mají svůj reálný základ a já sám jsem toho příkladem.

Schopnost generovat kód je od ChatGPT úctyhodná, byť jsem k ní skeptičtější, ale opět na výpomoc asi fajn. Já sám jsem však při tvorbě aplikací našel jiné, za mě skvělé uplatnění.

Generování testovacích dat. Existuje jen málo činností, které by programátoři nesnášeli víc, než generování / psaní těchto dat. Je jedno jestli se jedná o frontend nebo backend developery.

Potřebujete testovací data, abyste mohli psát testy, vidět jak data vypadají na obrazovce a to ideálně pro různé stavy a scénáře. Vymýšlení nových jmen, popisků co nejsou pouhé “abcdlsfsdfksdfj” nebo v lepším případě aspoň lorem Ipsum. Takže kromě toho, že u toho strávíte moře času, tak vaše testovací data beztak stojí za prd.

Připravil jsem několik jednoduchých příkladů, jak velice jednoduše můžete tuto práci delegovat na kolegu, který nic nestojí, nebude se na vás zlobit a jako bonus to po něm nemusíte ani moc kontrolovat :).

Původně jsem tyto příklady chtěl ukazovat pouze interně u nás v Ackee, ale věřím, že se budou hodit i ostatním.

Generuj testovací data pouze na základě textu a to rovnou do jsonu

Pokud ještě nemáte žádný kód, o který se může ChatGPT opřít, stačí pouze popsat, jaká data potřebujete a on si s tím poradí.

Generuj testovací data na základě kódu

Naopak pokud již máte v kódu definici objektu kompletní, můžete si nechat vygenerovat data včetně různých edge casů, na kterých můžete vyzkoušet, jestli je zbytek vaší aplikace na tyto případy připraven.

Nechte si poradit, jak data validovat

Toto by správně mělo být zadané, ale známe, jak to je :) Dobrou radou ještě nikdo nic nezkazil, koukněte, jestli jste něco nezapomněli.

Bonus: klidně si rovnou u emailu řekněte o regexp.

Data pro testovací scénáře.

Tohle se může hodit i testerům nebo zodpovědným programátorům, kteří si po sobě svou práci chtějí otestovat.

Data, která nejsou zas tak náhodná.

Když jsem aktivně programoval, nejvíc mě trápilo testování různých situací na základě GPS koordinátů, ať už šlo jednotlivé body, nebo o konkrétní cesty, když jsem potřeboval souřadnice konkrétních míst. Měl jsem na to již celkem vymakané workflow, ale tohle prostě nic nepřekoná :).

Lokalizace

Znáte to, ono všechno funguje do té doby, než vám tu recenzi napíše nějaký Němec.

Závěrem

Berte to jako velice stručný úvod k tomu, jak vám může ChatGPT pomoci při práci programátora nebo testera. Většina tipů co jsem viděl se zaměřovala hlavně na kód, jak už moc nepíšu, tak mě naopak zaujala možnost generování dat. Pokud začnete data generovat pomocí ChatGPT, nebo máte jiný tip jak ChatGPT využít budu rád, když mi dáte vědět!

A aby se vám s ChatGPT lépe pracovalo doporučuji následující cli tool.

--

--

Dominik Veselý

Software Architecture Expert, Co-Founder of @AckeeCZ. #ios #node #saas enthusiast. Lecturer at @FIT_CTU. Runner in the spare time.