A purista és a pragmatikus szoftverfejlesztő
Oregon

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!