A purista és a pragmatikus szoftverfejlesztő
Ha betévedsz egy IT-s fórumra, GitHub issue-ba vagy a Reddit valamelyik fejlesztős bugyrába, előbb-utóbb belebotlasz a szoftverfejlesztés végtelen vitájába. Két tábor feszül egymásnak a monitor mögül: az egyik oldalon a purista, akinek a kód szentély, a design pattern vallás, a verziókezelési history pedig művészeti alkotás; a másikon a pragmatikus, aki egyszerűen csak azt akarja, hogy a gép csinálja végre azt, amit mond, és holnapra kész legyen.
Érdemes megvizsgálni, mi történik, amikor a két világ összecsap a valóság betonfalán.
A Purista az, aki a tükörnek öltözik
A purista fejlesztő számára a szoftver nem eszköz, hanem szellemi termék és esztétikai élmény.
- Ő az, aki éjszakába nyúlóan refaktorál egy 50 soros segédfüggvényt, mert a SOLID elvek nem engedik meg a kódduplikációt.
- Számára a Jetpack Compose, a legújabb reaktív keretrendszer vagy a legszigorúbb típusos absztrakció nem választás kérdése, hanem morális kötelesség.
- Ha meglát egy 5 éves XML layoutot vagy egy LLM által generált, hirtelen betolt commit-sorozatot egy saját magának írt hobbi-projektben, azonnal elönti a méla undor.
A purista világa steril, szabványos és tökéletesen dokumentált. Egy baj van vele: a valós élet gyakran leszarja a best practice-eket. Nagyvállalati keretek között, tucatnyi fejlesztő együttműködésénél a purizmus életmentő gyógyszer lehet, ahogyan a kerékkötője mindennek. Viszont egy kisebb projektnél, vagy egy egyszemélyes, zsebből előrántott segédeszköznél olyan, mintha gépágyúval lőnének verébre.
A Pragmatikus az, aki átlépi a kerítést
Ezzel szemben a pragmatikus (vagy ahogy sokan hívják, a gyakorló szakember) abból indul ki, hogy a szoftver értéke a használhatóságában rejlik.
- Ha egy saját magának írt kliens (mondjuk egy Androidos SSH-alkalmazás) stabilan teszi a dolgát, kézre áll, és pont azt a hibát javítja ki, ami az adminnak kell a szerverek eléréséhez, akkor teljesen mindegy, hogy a motorháztető alatt részben még egy 2019-es architekturális mag lakozik.
- Ha az AI (legyen az Claude vagy bármilyen LLM) 5 perc alatt összerakja azt a funkciót, amire különben három hétvégét kéne áldozni, akkor a pragmatikus nem fog morfondírozni az ideológiai tisztaságon: beküldi, teszteli, használja.
A puristának a kód minősége, míg a pragmatikusnak az üzleti cél elérése van első helyen.
Amikor a Reddit népe találkozik a valósággal
Klasszikus példa, amikor valaki kiteszi a saját kódját nyílt forráskódúként (például egy hobbi projektet), és a GitHubon, Redditen vagy a Hup.hu-on megjelenik a helyi inkvizíció. Jön a sértődött kórustag: „Miért nincs modern stacken?”, „Mi ez a commit history?”, „Ez tiszta vibe coding!”.
Az igazság az, hogy a külső szemlélő gyakran összekeveri a rendetlenséget a rossz minőséggel. Egy saját magad által üzemeltetett, saját igyekezetedből épített rendszerben a te időd a legdrágább valuta. Ha a kód ellátja a funkcióját, a te munkafolyamatodat szolgálja, és nem kell benne másoknak kód review-t tartaniuk, akkor a purista szempontok csupán zajok a rendszerben.
Nem a kód a múzeumi tárgy. A kód egy szerszám. Ha a kalapács nyele kicsit kopott, de beveri a szeget, nem veszel rajta drága dizájner markolatot csak azért, hogy szebben mutasson a szerszámosládában.
Purista művek kedvelőiként, de gyakorló szakemberként a véleményem egyszerű: addig, amíg a rendszer a te kontrollod alatt áll, és a célját tökéletesen eléri, a kód esztétikáján lovagló puristák véleményét nyugodtan be lehet tenni a /dev/null-ba. Szórakoztassák vele önmagukat, mert üzleti haszna az LLM korszakban elég csekély!