Koodin uudelleenkäyttö

Koodin uudelleenkäyttö ( englanniksi  code reuse ) on menetelmä tietokoneiden ja muiden järjestelmien suunnitteluun, joka koostuu siitä, että järjestelmä ( tietokoneohjelma , ohjelmamoduuli) koostuu osittain tai kokonaan osista, aiemmin kirjoitetuista komponenteista ja/tai toisen osista. järjestelmässä, ja näitä komponentteja tulee käyttää useammin kuin kerran (jos ei saman projektin sisällä, niin ainakin eri). Uudelleenkäyttö on tärkein menetelmä, jota käytetään työvoimakustannusten vähentämiseen monimutkaisten järjestelmien kehittämisessä.

Yleisin koodin uudelleenkäyttötapaus ovat ohjelmistokirjastot . Kirjastot tarjoavat yleisen, melko yleisen toiminnon, joka kattaa valitun aihealueen. Esimerkkejä: funktiokirjasto kompleksilukujen kanssa työskentelyä varten, funktiokirjasto 3D-grafiikkaa varten, kirjasto TCP / IP-protokollan käyttöä varten, kirjasto tietokantojen kanssa työskentelemiseen. Uuden ohjelman kehittäjät voivat käyttää olemassa olevia kirjastoja ongelmien ratkaisemiseen eivätkä "keksi pyörää uudelleen".

Järjestelmien modulaarisuus

Ohjelmoijat suunnittelevat järjestelmänsä niin, että ne ovat mahdollisimman modulaarisia. Abstraktioina, joiden perusteella on mahdollista rakentaa järjestelmän modulaarisuus, voivat toimia funktiot , korutiini , luokka , protokolla . Funktiokirjasto  on hyvä esimerkki abstraktiosta , joka on hyödyllinen ohjelman modulaarisuuden toteuttamisessa ja uudelleenkäytettävän metodologian noudattamisessa. Tärkeä askel kohti maksimaalista modulaarisuutta oli nimitilan hierarkkisen rakentamisen periaate .

Esimerkki modulaarisuuden ja uudelleenkäytön periaatteen onnistuneesta toteutuksesta on Unix - kuorityökalut ja standardi Java - luokat , jotka on sijoitettu nimiavaruushierarkiaan.

Mallit (katso C++ Standard Template Library STL ) funktioille ja luokille olivat tärkeä askel uudelleenkäyttömenetelmien edistämisessä olioohjelmointiteollisuudessa .

Järjestelmän hierarkkinen modulaarisuus mahdollistaa tehokkaiden kehitysjohtamisen menetelmien toteuttamisen, jotka perustuvat järjestelmän itsensä moduulihierarkiaa vastaavien ohjaushierarkioiden rakentamiseen.

Käytä uudelleen pienissä

Joskus koodin uudelleenkäyttö on vain jonkin koodin osan kopioimista olemassa olevasta ohjelmasta toiseen ( kopioi-liitä ) .  Tämä on yksi matalan tason lähestymistapoja uudelleenkäyttöön. Mutta sitä myös tapahtuu, varsinkin kun on kyse koodin uudelleenkäytöstä "pienellä tavalla" ("uudelleenkäyttö pienellä tavalla").

Tätä lähestymistapaa ei yleensä suositella käytettäväksi; sen sijaan toistuva ohjelman fragmentti muotoillaan aliohjelmaksi tai makroksi parametrijoukolla. Pääargumentti aliohjelmien käyttämisen puolesta koodin kopioimisen sijaan on se, että jos tulee virhe, se on korjattava kerran aliohjelman rungossa, muuten yleensä useita identtisiä koodinpätkiä, jotka sijaitsevat ohjelman eri paikoissa korjata. Lisäksi koodia kopioitaessa on yleensä tarpeen muuttaa muuttujien nimiä, mikä myös usein johtaa mekaanisiin virheisiin. Aliohjelmia käytettäessä tällainen uudelleennimeäminen voidaan välttää käyttämällä paikallisia muuttujia.

Koodin uudelleenkäyttö ja metajärjestelmän siirtyminen ohjelmoinnissa

Koodin uudelleenkäyttömenetelmä on tärkeä osa metajärjestelmäsiirtymän periaatteen toteuttamista ohjelmistoteollisuuden kehityksessä. Tämän periaatteen toteutus antaa kehittäjille mahdollisuuden toimia korkean tason käsitteillä (näytä kuva, poista taulukko tietokannasta, löytää yhtälön kaikki juuret, muuntaa tiedosto jne.) matalan tason käsitteillä (väri). pikselin punainen, nollaa rekisteri, lisää kaksi numeroa, lue merkki tiedostosta jne.).

Uudelleenkäyttömenetelmän edut ja haitat

Harkitse etuja ja haittoja funktiokirjastojen esimerkin avulla.

Valmiiden kirjastojen käyttämisellä on useita etuja. Ensinnäkin uuden järjestelmän kehittäjä vapauttaa itsensä huolesta tähän kirjastoon upotetun toiminnallisuuden toteuttamisesta. Kirjaston koko kehityssyklin suorittaa tämän kirjaston kehittäjä. Yleensä hän ottaa vastuun kirjaston ylläpidosta: virheiden korjaamisesta, työn kehittämisestä ja parantamisesta, testaamisesta . Koodin uudelleenkäyttömenetelmä on mekanismi, jonka avulla kehittäjät voivat "seistä jättiläisten harteilla" [1] ja rakentaa nopeasti uusia monimutkaisia ​​järjestelmiä jo virheenkorjauskomponenteista. Toinen etu tulee koodin käytön toistamisesta, mikä vähentää merkittävästi lopullisen ohjelman kokoa ja riittämättömän median suorituskyvyn tapauksessa nopeutta.

Muutamien, mutta erittäin tärkeiden etujen lisäksi koodin uudelleenkäyttömenetelmällä on useita haittoja. Kolmannen osapuolen kirjastojen liittäminen projektiin johtaa automaattisesti tarpeeseen valvoa luotavan järjestelmän komponenttien versioiden ja käytettyjen kirjastojen versioiden yhteensopivuutta. Tyypillisimpänä esimerkkinä tällaisesta virheestä pidetään Ariane-5-kantoraketin onnettomuutta , joka aiheutui Ariane-4- raketille kehitetyn ohjelmistomoduulin käytöstä [2] .

On myös tärkeää huomata, että monet kirjastot ovat kaupallisia ja vaativat rahaa ( vapaiden ohjelmistojen liikkeen kehittyessä tästä on vähitellen tulossa vähemmän merkityksellistä). Lisäksi kirjastot eivät usein ole riittävän yleismaailmallisia eivätkä toteuta luotavan järjestelmän edellyttämiä toimintoja tai päinvastoin ne ovat liian yleismaailmallisia ja sen seurauksena tehottomia, hankalia tai sisältävät paljon redundantteja ( tietylle projektille) toiminnallisuus. Uudelleenjakelukirjaston lisenssin salliessa on mahdollista käyttää sen lähdekoodeja ja muokata niitä tarpeen mukaan. Mutta sen jälkeen vastuu kirjaston toimivuuden tukemisesta siirtyy uuden järjestelmän kehittäjän harteille. Myös liiallisen modulaarisuuden käyttö voi johtaa ohjelman suoritusnopeuden hidastumiseen, kun moduuliin kuuluva suoritusnopeus ei pysty kattamaan tämän moduulin käyttökustannuksia.

Katso myös

Muistiinpanot

  1. Kuuluisa lainaus Isaac Newtonilta
  2. Jerry Gao, H.-SJ Tsao, Ye Wu. Komponenttipohjaisten ohjelmistojen testaus ja laadunvarmistus. - Artech House, 2002. - S. 211. - ISBN 978-1-58053-735-3 .

Kirjallisuus

Linkit