Topi Santakivi
Aug 17, 2018 · 1 min read

Mitä mieltä olet copy-pastetun koodin ylläpidettävyydestä?

Satunnainen, ei-niin hypoteettinen esimerkki: ominaisuus X on toteutettu yhdeksänä eri variaationa ja osa siitä on koodia, joka on copy-pastettu kahdeksaan kertaan. Alkuperäisistä toteutuksista on kulunut 2–5 vuotta, ja koodin copypastenneet henkilöt ovat jo siirtyneet muille koodausmaille. Yhdestä variaatiosta löydetään bugi, joka korjataan copy-pastettuun koodiin.

Tämä sama korjaus unohdetaan tehdä näihin kahdeksaan muuhun kohtaan, koska korjauksen kirjoittanut henkilö ei vielä tunne kyseistä sovellusta riittävän hyvin. Ja sitten kun vihdoin tajutaan, että kas, täällä on kahdeksan muutakin kohtaa, joissa tuota copypastettua toteutusta on, pitää myös päivittää sen aiemmin korjatun lisäksi kahdeksat unit-testit, koska nekin on copy-pastettu, ja erikseen varmistaa, että nämä kaikki variaatiot edelleen toimivat niin kuin on tarkoitettu.

Ei se välttämättä niinkään ole että ikinä ei saisi copy-pastettaa missään tilanteessa, mutta ei ole ihan kerta tai kaksi kun on tullut tuollainen tilanne vastaan.

    Topi Santakivi

    Written by