Cargo cult programozás

A Wikipédiából, a szabad enciklopédiából

A cargo cult programozás egy olyan programozási stílus, amiben a programozó anélkül használ programrészleteket, programozási módszert vagy mintákat, hogy ismerné azok működését, így a kódba olyan részletek kerülnek, amelyek teljesen céltalanul vannak ott. Ezek eltávolítása nehézkes, mert megmagyarázhatatlan hibákat eredményez. Oka egy meg nem értett hiba megoldása, vagy egy még járatlan programozó, aki egyik helyről a másikra másolja a megoldást, annak megértése nélkül.

A programozó használhat olyan mintákat vagy kódolási stílusokat, amelyeket nem ért, nem tudja, hogy mire valók. További példák az önkommentelő kód kommentálása, túlzott ragaszkodás egy programozási paradigma megoldásaihoz, vagy olyan objektumok kézi törlése, amiket a szemétgyűjtő majd felszabadít.

Eredete[szerkesztés]

Cargo cult a Tanna-szigeten, Vanuatuban

A cargo cult kifejezés a Csendes-óceán szigetein a második világháború után kialakult őslakos vallásokra utal. A hívek visszavárják azokat a repülőket, amelyek a második világháború idején ajándékokat hoztak nekik.[1][2] Leszállópályák utánzatait építik, hogy mielőbb megérkezzenek az istenek az ajándékokkal. Richard Feynman egyes gyakorlatokat cargo cult tudományként jellemzett, innen kerülhetett egy rossz programozási gyakorlat jellemzésére a programozási kifejezések közé.[2][3]

Hasonló fogalom[szerkesztés]

Steve McConnell bevezette a cargo cult szoftvertervezés fogalmát.[4]

Ezen azt érti, hogy egyes cégek igyekeznek szolgai módon másolni a sikeresebb cégek módszereit, azok megértése nélkül. Követik a szoftverfejlesztés számos mozzanatát, például eredmény alapú fejlesztést alkalmaznak, ami hosszú, ki nem fizetett túlórákat eredményez. Ezt azonban a sikeres cégek nem maguk alkalmazzák, hanem a fejlesztők önként vállalják, mert motiváltak erre.

McConnell a projekt sikerét nem az alkalmazott megközelítéssel magyarázza, hanem ez inkább a kompetenciákon, készségeken, szaktudáson múlik. A módszereket másoló cégek nem is lesznek olyan sikeresek, mint akiket másolnak, mivel mindezek hiányoznak belőlük, és csak a formát utánozzák.[2]

Jegyzetek[szerkesztés]

  1. Bezroukov, Nikolai: Cargo Cult Programming article. Softpanorama (slightly skeptical) Open Source Software Education Society. (Hozzáférés: 2008. március 25.)
  2. a b c Cargo Cult Software Engineering. IEEE Software, Hiba: Érvénytelen idő. (Hozzáférés: 2008. május 24.)
  3. Definition of cargo cult programming. Jargon File at jargon.net. (Hozzáférés: 2008. március 25.)
  4. McConnell (2003), pp. 23–26.

Fordítás[szerkesztés]

Ez a szócikk részben vagy egészben a Cargo cult programming című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.