Koodin katselmointi

Wikipediasta
Siirry navigaatioon Siirry hakuun

Koodin katselmointi (myös vertaisarviointi) on ohjelmiston lähdekoodin tietoista ja järjestelmällistä tarkistamista ohjelmoijan vertaisten toimesta. Tavoitteena on löytää ohjelmointivirheitä toistensa ohjelmakoodista. Arviointiin on useita apuohjelmia, mutta käsite on tärkeä ymmärtää: ohjelmistoa tekevät ihmiset ja ihmiset tekevät virheitä. Lisäksi ohjelmistoa testataan manuaalisesti tai automatisoidusti.[1]

Katselmoinnissa toinen kehittäjä kuin muutoksen tekijä katsoo ohjelmakoodia ja pyrkii vastaamaan kysymyksiin kuten:[2]

  • Onko koodissa ilmeisiä logiikkavirheitä?
  • Vaatimuksia katsoen, ovatko kaikki tapaukset täysin toteutettuja?
  • Ovatko uudet automatisoidut testit riittäviä uudelle koodille? Onko olemassa olevia automatisoituja testejä kirjoitettava uudestaan vastaamaan muuttuneeseen koodiin?
  • Vastaako uusi koodi olemaassa olevia tyyliohjeita?

Michael Fagan julkaisi menetelmän ohjelmiston tarkastukseen vuonna 1976 (Fagan-tarkistus, Fagan Inspection).[3][4][5]

Katselmointi voi vähentää merkittävästi virheitä ohjelmistoprojekteissa.[6] Lisäksi staattinen analyysi voi vähentää katselmoinnin aiheuttamaa kuormitusta.[6]

  1. What is Code Review? smartbear.com. Viitattu 13.3.2022. (englanniksi)}
  2. Dan Radigan: Why code reviews matter (and actually save time!) atlassian.com. Viitattu 13.3.2022. (englanniksi)
  3. M. E. Fagan: Design and code inspections to reduce errors in program development ieeexplore.ieee.org. doi:10.1147/sj.153.0182 Viitattu 13.3.2022. (englanniksi)
  4. E. P. Doolan: Experience with Fagan’s Inspection Method (PDF) ida.liu.se. helmikuu 1992. Viitattu 13.3.2022. (englanniksi)
  5. Hanna Scott: A Balance between Testing and Inspections (PDF) diva-portal.se. kesäkuu 2004. Viitattu 13.3.2022. (englanniksi)
  6. a b Bill Graham: Enhancing Code Reviews with Static Analysis Software Tools blogs.grammatech.com. 17.4.2017. Arkistoitu 23.5.2022. Viitattu 13.3.2022. (englanniksi)

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.