Van egy régi fejlesztői vicc:
„Aki ezt a kódot írta, biztos már nem dolgozik itt.”
A legrosszabb az egészben, hogy sokszor még mindig ott dolgozik.
Csak éppen te vagy az.
Hat hónappal később megnyitsz egy régi projektet.
Látsz egy 300 soros függvényt.
Öt egymásba ágyazott if-et.
Három TODO kommentet.
Egy temp2Final_v3 nevű változót.
És az első gondolatod:
„Ki írta ezt a borzalmat?”
A Git gyorsan válaszol.
You.
A memória sokkal rosszabb, mint gondolnád
Fejlesztés közben minden logikusnak tűnik.
Pontosan tudod, miért került oda az a feltétel.
Miért kellett az a workaround.
Miért nem lehetett egyszerűbben megoldani.
Hat hónappal később viszont már csak a kód marad.
A kontextus eltűnik.
Ezért nem a jelenlegi önmagadnak írsz kódot.
Hanem annak, aki fél év múlva próbálja majd megérteni.
A legfontosabb olvasó már nem is ember
Régen azt mondtuk:
„Írj kódot, amit a csapattársaid is megértenek.”
Ma ehhez hozzátennék még valamit.
Írj olyan kódot, amit az AI is könnyen megért.
Hiszen ma már naponta kérjük meg a Cursort, Copilotot vagy a ChatGPT-t arra, hogy:
- keressen hibát,
- refaktoráljon,
- írjon teszteket,
- készítsen dokumentációt,
- vagy egészítsen ki egy meglévő funkciót.
Minél egyértelműbb a kódod szerkezete, annál jobb válaszokat kapsz.
A tiszta kód ma már nemcsak emberbarát.
AI-barát is.
A komment nem megoldás
Sokan próbálják kommentekkel megmenteni a nehezen olvasható kódot.
Pedig a komment gyakran csak tüneti kezelés.
Ha egy függvény működését fél oldalban kell elmagyarázni…
akkor valószínűleg nem a komment hiányzik.
Hanem a refaktor.
A kommenteknek nem azt kell leírniuk, mit csinál a kód.
Hanem azt, miért kellett így megoldani.
Ez az a kontextus, amit fél év múlva már biztosan nem fogsz felidézni.
Az AI nem csak kódot ír
A legtöbben generálásra használják.
Pedig szerintem sokkal nagyobb értéket ad refaktoráláskor.
Egy nehezebb fejlesztés után rendszeresen megkérem az AI-t például erre:
- nevezze át a változókat beszédesebbre,
- bontsa kisebb függvényekre a logikát,
- egyszerűsítse a feltételeket,
- keressen ismétlődő mintákat,
- írjon hiányzó teszteket,
- készítsen rövid dokumentációt.
A végeredmény sokszor nem gyorsabb.
Hanem egyszerűen sokkal tisztább.
A tiszta kód nem esztétika
Nem attól jó egy projekt, hogy szépen van behúzva.
Hanem attól, hogy könnyű rajta változtatni.
A szoftverek életük nagy részét nem fejlesztésben töltik.
Hanem karbantartásban.
Egy új funkció.
Egy hibajavítás.
Egy API-változás.
Egy új kolléga.
Ha minden módosítás előtt fél órát kell nyomozni, hogy mi miért működik…
akkor nem gyorsan fejlesztetek.
Csak gyorsan írtatok kódot.
A valódi cél
Nem az, hogy a kód tökéletes legyen.
Hanem az, hogy amikor fél év múlva újra megnyitod, ne azt mondd:
„Fogalmam sincs, ezt ki találta ki.”
Hanem azt:
„Értem, miért így készült. Menjünk tovább.”
A jó kód nem attól értékes, hogy ma működik.
Hanem attól, hogy holnap is könnyű továbbfejleszteni.
És ez az a tulajdonság, ami egy AI-korszakban talán még fontosabb lett, mint valaha.