Ismeretlen kód megértése

Megörököltél egy fájlt, és nem tudod, mit csinál? Ez a prompt előbb áttekintést ad az egészről, utána a kockázatos részeket és azt, hol érdemes elkezdeni.

FejlesztésKezdőAjánlott eszközök: ChatGPT, Claude, GeminiFrissítve:

Töltsd ki a saját adataiddal

A sárgával jelölt részeket cseréld a saját adataidra.

Magyarázd el az alábbi kódot valakinek, aki most látja először, és módosítania kell. Nyelv és környezet: [KÖRNYEZET] Amit a kódról eddig tudok: [ELŐZMÉNY] Amit módosítani szeretnék rajta: [FELADAT] A kód: [KÓD] A válasz felépítése: 1. Három mondat: mi a kód feladata, mi megy be, mi jön ki. 2. A futás menete lépésenként, a függvények nevével. 3. Rejtett feltevések: mire számít a kód a bemenetről vagy a környezetről, ami sehol nincs leírva. 4. Kockázatos részek a feladatom szempontjából: mit törhetek el, ha hozzányúlok. 5. Hol kezdjem a módosítást, és mit ellenőrizzek utána. Csak azt állítsd, ami a kódból látszik. Ha egy függvény máshol van definiálva, és nem látod, írd oda, hogy a viselkedését csak a neve alapján feltételezed.

EllenőrzésCtrl + Enter: másolás

Példa: kitöltve, mintaválasszal

Környezet
Python 3.11, éjszakai ütemezett feladatként fut.
Előzmény
Egy volt kolléga írta, nincs hozzá dokumentáció.
Feladat
A törölt felhasználókat is ki kell hagyni az exportból.
Kód
def export_users(db, path): rows = db.query("SELECT id, email, status FROM users") active = [r for r in rows if r[2] != 'inactive'] with open(path, 'w') as f: for r in active: f.write(f"{r[0]};{r[1]}\n") return len(active)
Mintaválasz (Claude)

1. Mit csinál? Lekéri az összes felhasználót, kiszűri az inaktívakat, és a maradék azonosítóját és e-mail-címét pontosvesszővel elválasztva fájlba írja. A kiírt sorok számával tér vissza.

3. Rejtett feltevések

  • A status oszlopban az 'inactive' az egyetlen kizárandó érték. Minden más, így a törölt állapot is, bekerül az exportba.
  • A fájlt felülírja, nem hozzáfűz.
  • Az e-mail-címben nincs pontosvessző; ha van, elcsúsznak az oszlopok.
  • Nincs megadva karakterkódolás, ez a szerver beállításától függ.

4. Kockázat: nem látszik, milyen értékkel jelöli az adatbázis a törölt felhasználót ('deleted', vagy külön oszlop?). Ezt előbb nézd meg az adatokban.

5. Hol kezdd: a szűrő sorában, például r[2] not in ('inactive', 'deleted'). Utána hasonlítsd össze az export sorainak számát a módosítás előtt és után. [...]

Szemléltető minta, Claude segítségével készült: azt mutatja, milyen jellegű és felépítésű válaszra számíthatsz. A többi ajánlott eszközzel a prompt várhatóan ugyanígy használható, de nem mindegyikben próbáltuk ki. A te eredményed más lesz. Hogyan készülnek a példák?

Miért működik?

A kódmagyarázat akkor hasznos, ha a célodhoz igazodik. A feladat mezője miatt a modell nem sorról sorra mesél, hanem azt emeli ki, ami a módosításnál számít. A rejtett feltevések pontja hozza a legtöbb értéket: ezek azok, amiket a kód írója fejben tartott.

Az utolsó szabály megakadályozza, hogy a modell magabiztosan leírja egy olyan függvény működését, amelyet nem is látott.

Mire figyelj?

  • Céges kódot csak akkor másolj be, ha a munkahelyed szabályai engedik. Jelszót, kulcsot, belső címet előtte törölj ki.
  • Hosszú fájlnál a modell elnagyolja a közepét. Inkább függvényenként add be, és kérj előbb áttekintést.

Folytasd ezekkel

Ugyanabban a beszélgetésben küldd el, a válasz után.

  • Írd meg a módosítást, és mutasd meg a változást diff formában.
  • Írj dokumentációs megjegyzést a függvény elé a feltevésekkel együtt.

Kapcsolódó promptok

Összes fejlesztés prompt

Funkció specifikálása kódolás előtt

Mielőtt kódot kérnél az AI-tól, írasd meg vele a tervet. A prompt kérdésekkel tisztázza az ötletedet, majd rövid specifikációt készít elfogadási feltételekkel.

Fejlesztés

Kódátnézés beküldés előtt

Tapasztalt kollégaként nézi át a módosításodat: hibák és biztonsági gondok súlyosság szerint, konkrét sorral és javítási javaslattal, ízlésbeli szőrszálhasogatás nélkül.

Fejlesztés