Hibakeresés módszeresen, feltevésekkel
Megállítja a találgatós javítgatást: a tünetekből rangsorolt feltevéseket állít fel, mindegyikhez egy ellenőrző lépést ad, és csak a bizonyított ok után javít. A javítás a lehető legkisebb marad.
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
- Elvárt működés
- A kosár végösszege frissül, amikor módosítom a darabszámot
- Tényleges működés
- A darabszám változik, a végösszeg csak oldalfrissítés után
- Hibaüzenet
- Nincs hibaüzenet a konzolon
- Kód
- function Cart({ items }) { const [list, setList] = useState(items); const total = useMemo(() => list.reduce((s, i) => s + i.price * i.qty, 0), []); const setQty = (id, qty) => { const it = list.find(i => i.id === id); it.qty = qty; setList(list); }; ... }
- Mi változott
- Tegnap az AI „teljesítményoptimalizálást” végzett
- Eddigi próbálkozások
- Kétszer kértem, hogy javítsa meg; mindkétszer átírta a fél komponenst, a hiba maradt
- Környezet
- React 18, Vite
1. Összefoglaló: nincs kivétel; ez állapotfrissítési hiba, a felület nem számol újra.
2. Feltevések
- A
useMemofüggőségi listája üres (nagyon valószínű). Mellette: a[]miatt a végösszeg csak az első megjelenítéskor számolódik ki. A tegnapi „optimalizálás” is erre utal. - Az állapot helyben módosul (valószínű).
it.qty = qtyutánsetList(list)ugyanazt a tömböt adja át, a React nem lát változást. Ellene: a darabszám a leírásod szerint mégis frissül, tehát valami kivált újrarajzolást. - A szülő felülírja az
itemsértéket (kevéssé valószínű).
3. Ellenőrzés, ezzel kezdd: írd át ideiglenesen a useMemo második paraméterét [list]-re, és nézd meg, változik-e a végösszeg.
Írd meg, mi történt, és folytatom.
(Eredmény: a végösszeg csak minden második módosításnál frissül.)
5. Ok: mindkét feltevés igaz. Javítás, két sor:
useMemo(..., [list])setList(list.map(i => i.id === id ? { ...i, qty } : i));
7. Megelőzés: az exhaustive-deps lint szabály bekapcsolása jelezte volna az üres függőségi listát.
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ódoló AI-k tipikus hibája, hogy a tünetre azonnal javítást írnak, és ha nem jön be, még többet írnak át. A prompt megtiltja a javítást, amíg az ok nincs bizonyítva, és minden feltevéshez egy olcsó ellenőrzést kér.
A megállás a 4. pontnál a lényeg: az eredményt te adod vissza, így a következő lépés tényre épül, nem újabb találgatásra.
Mire figyelj?
- A modell csak azt a kódot látja, amit beillesztesz. Ha a hiba máshol van, kérni fogja; add meg, ne találgasson.
- Hibaüzenetben és naplóban lehet jelszó, kulcs vagy személyes adat. Takard ki, mielőtt beilleszted.
- A javítás után futtasd le a 6. pont ellenőrzését is; a „most működik” egy esetre igaz.
Folytasd ezekkel
Ugyanabban a beszélgetésben küldd el, a válasz után.
- Írj tesztet, amely elbukott volna ezen a hibán.
- Nézd át a komponens többi részét ugyanilyen hibamintát keresve, de ne módosíts semmit, csak listázz.
Kapcsolódó promptok
Összes vibe coding promptHa az AI körbe-körbe javít
Ötödször javítja ugyanazt a hibát, és egyre rosszabb? Ez a prompt megállítja a kapkodást: összefoglalja, mit próbáltatok, új hipotézist kér, és tiszta lappal indít.
Biztonsági audit fenyegetésmodellel
Végigveszi, ki és hogyan élhetne vissza az alkalmazásoddal, majd a kódot a tipikus hibákra nézi át: jogosultság, bemenet, titkok, függőségek. Súlyosság szerint rangsorol, és jelzi, amit a beillesztett részből nem lát.
Tesztterv a kritikus felhasználói utakra
Kockázat szerint rangsorolja, mit kell tesztelni az alkalmazásodban, majd megírja a legfontosabb teszteket. Kézzel elvégezhető ellenőrzőlistát is ad azoknak, akik nem írnak automata tesztet.
Projektterv mérföldkövekkel és elfogadási feltételekkel
Az ötletedből olyan tervet ír, amelyet a kódoló AI lépésenként végre tud hajtani: hatókör, adatmodell, mérföldkövek, és mindegyiknél az, hogy miből látod, hogy kész. Külön listázza, ami szándékosan kimarad.