Refaktorálási terv kis lépésekben
Nagy átírás helyett sorba rendezett, egyenként tesztelhető lépések: mit érdemes először rendbe tenni, és mihez ne nyúlj hozzá.
Töltsd ki a saját adataiddal
A sárgával jelölt részeket cseréld a saját adataidra.
EllenőrzésCtrl + Enter: másolás
Példa: kitöltve, mintaválasszal
- Kód
- Egy 320 soros process_order() függvény (PHP 8): validálja a rendelést, kiszámolja a kedvezményt és az áfát, ment az adatbázisba, e-mailt küld és naplóz. Hat szintig egymásba ágyazott if-ek, négy globális változó.
- Probléma
- Minden új kedvezménytípusnál elromlik valami más, legutóbb az áfaszámítás.
- Tesztek
- Nincs automatikus teszt, kézzel próbáljuk ki.
- Korlátok
- Hetente két órám van rá; az adatbázisséma nem változhat.
1. Fő gondok
- Nincs teszt, ezért minden változtatás vakrepülés.
- A kedvezmény- és az áfaszámítás össze van keverve a mentéssel és az e-mail-küldéssel, így nem próbálható ki külön.
- A globális változók miatt a függvény eredménye a hívás előtti állapottól is függ.
2. Lépések
- Jellemző tesztek: 8-10 valós, korábbi rendelés bemenete és a mostani végösszege rögzítve. Ellenőrzés: a tesztek a jelenlegi kódon zöldek.
- A kedvezményszámítás kiemelése külön függvénybe, amely nem ment és nem küld semmit. Ellenőrzés: a rögzített végösszegek nem változnak.
- Ugyanez az áfaszámítással.
- A globális változók átadása paraméterként, egyenként. [...]
4. Most ne: az e-mail-küldés és a naplózás átírása. Nem ezek okozzák a hibákat, és a heti két órádat elvinnék.
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 modellek alapból szívesen írnak át mindent egyszerre, szebben. Ez a prompt megtiltja a kódírást, és commitnyi lépéseket kér, ezért olyan tervet kapsz, amelyet félbe lehet hagyni, és a kód közben is működik.
A tesztekre vonatkozó mező dönti el az első lépést: teszt nélkül a refaktorálás előtt rögzíteni kell a jelenlegi viselkedést.
Mire figyelj?
- Ha csak leírást adsz a kódról, a terv általánosabb lesz. A legjobb, ha a tényleges kódot adod be, titkos adatok nélkül.
- A terv sorrendje vitatható. Ha a csapatodnak más a legfájóbb pont, írd be a probléma mezőbe, és kérd újra.
Folytasd ezekkel
Ugyanabban a beszélgetésben küldd el, a válasz után.
- Írd meg az első lépés jellemző tesztjeit PHPUnitban.
- Mutasd meg a második lépést kóddal, előtte és utána állapotban.
Kapcsolódó promptok
Összes fejlesztés promptFunkció 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.
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.
Tesztesetek egy függvényhez
Előbb listát kapsz arról, mit érdemes tesztelni (normál, szélső és hibás esetek), és csak a jóváhagyásod után készül el a tesztkód a projekted keretrendszerében.
Hibakeresés hibaüzenetből
Add meg a hibaüzenetet, a kódrészletet és azt, amit már próbáltál. A modell előbb rangsorolja a lehetséges okokat, és csak utána javasol javítást.