Máglyára a kódmásolókkal!

Újabb gyöngyszemre bukkantam a céges kódban: egy komplett, cirka két oldalas függvény szerepel(t) számos osztályban szétszórva, 5%-nál kevesebb (lényegi, azaz nem sortörésből, beszúrt kommentekből adódó) különbséggel. A különbség 3 (egymásból származó osztályt) figyelembe véve eddig két helyen van: egy adott SQL lekérdezés mindenhol egyedi (ezt ugye ki lehet emelni egy metódusba, és a lekérdezés eredményét visszapattintani…), valamint az első vizsgált esetnél rögtön volt egy (ráadásul általam) beépített feature. Amúgy ennyi, minden más bitről bitre és byte-ról byte-ra azonos.

Máglyára. A kóddal is, de azzal is, aki elkövette. Az emberben legyen annyi szakmai alázat, hogy ilyen mocsodékot nem ad ki a keze közül. Nem akkor, ha hivatásszerűen csinálja, komoly pénzekért, komoly cégnek. Nem egy 10+ éves programban, ahol elég idő és pénz volt arra, hogy körömpiszkálgatás helyett eltakarítsa a saját szarját.

Nem arról van szó, hogy én nem másolok. Persze, hogy másolok, így készülnek a quick-and-dirty megoldások. Aztán visszamegyek, és gondolkodok. Egy kód legyen újrahasznosítható, és legfőképpen könnyen módosítható. Ha hatvanötször kell végignéznem, hogy egy értékhez tényleg hozzáadok-e egy másik értéket, akkor az durva hibalehetőség. Ha egy függvényem van, akkor magától értetődő apró fix.