TypeScriptin vaikutukset ohjelman laatuun
Lehtinen, Eero (2022)
Lehtinen, Eero
2022
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-05-02
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202204143246
https://urn.fi/URN:NBN:fi:tuni-202204143246
Tiivistelmä
Internet muuttuu vuosi vuodelta tärkeämmäksi, ja JavaScript on verkkosivuilla laajassa käytössä. JavaScript on dynaamisen ja heikon tyypityksen ohjelmointikieli, jonka ominaisuudet eivät kaikkia miellytä. JavaScriptiä korvaamaan on kehitetty ohjelmointikieli TypeScript, jossa on staattinen ja vahva tyypitys. Sen tarkoituksena on korjata JavaScriptin ongelmia. TypeScriptin erityisenä hyötynä ajatellaan olevan ohjelmistoprojektin skaalautuvuus suureen kokoon. Tässä työssä on tarkoitus selvittää, millaiset vaikutukset TypeScriptillä on ohjelman laatuun. Olennaisena kysymyksenä on, kumpi on parempi vaihtoehto tuleviin ohjelmistoprojekteihin.
Tämä työ on toteutettu kirjallisuuskatsauksena. Analysoitavana oli muun muassa kokeellisia tutkimuksia, joissa vertaillaan staattisen ja dynaamisen tyypityksen vaikutuksia virheiden määrään, tuotteliaisuuteen ja ohjelmoinnin nopeuteen. Nämä ovatkin olennaisia ohjelman laadun osa-alueita. Eräs tutkimus myös analysoi yleisen versiohallinta-alustan GitHubin koodimuutoksia, ja yrittää saada selville ohjelmointikielistä ja niiden ominaisuuksista johtuvia vaikutuksia ohjelman laatuun.
Kirjallisuuden perusteella voidaan tehdä johtopäätöksiä. TypeScript on useimmiten suositeltava vaihtoehto JavaScriptille. Suurin osa kokeellisista tutkimuksista osoittivat joko positiivista tai neutraalia vaikutusta staattisesti tyypitetyille kielille. Kolmessa tutkimuksessa kuitenkin huomattiin, että pienet ohjelmointitehtävät on todennäköisesti nopeampi kirjoittaa dynaamisesti tyypitetyllä kielellä. JavaScript siis sopii tällaiseen tapaukseen. Kahdessa tutkimuksessa, jotka käsittelivät todellisia projekteja tehtävien sijaan, huomattiin selkeitä vähennyksiä virheiden määrässä TypeScriptillä. Siis hyvin pienimuotoiseen projektiin tai prototyyppiin voi käyttää JavaScriptiä, mutta yhtään suurempaan projektiin TypeScript on järkevämpi vaihtoehto. Myös JavaScript-koodin muuttaminen TypeScriptiksi kesken projektin on mahdollista vähittäisen tyypityksen ansiosta.
Tämä työ on toteutettu kirjallisuuskatsauksena. Analysoitavana oli muun muassa kokeellisia tutkimuksia, joissa vertaillaan staattisen ja dynaamisen tyypityksen vaikutuksia virheiden määrään, tuotteliaisuuteen ja ohjelmoinnin nopeuteen. Nämä ovatkin olennaisia ohjelman laadun osa-alueita. Eräs tutkimus myös analysoi yleisen versiohallinta-alustan GitHubin koodimuutoksia, ja yrittää saada selville ohjelmointikielistä ja niiden ominaisuuksista johtuvia vaikutuksia ohjelman laatuun.
Kirjallisuuden perusteella voidaan tehdä johtopäätöksiä. TypeScript on useimmiten suositeltava vaihtoehto JavaScriptille. Suurin osa kokeellisista tutkimuksista osoittivat joko positiivista tai neutraalia vaikutusta staattisesti tyypitetyille kielille. Kolmessa tutkimuksessa kuitenkin huomattiin, että pienet ohjelmointitehtävät on todennäköisesti nopeampi kirjoittaa dynaamisesti tyypitetyllä kielellä. JavaScript siis sopii tällaiseen tapaukseen. Kahdessa tutkimuksessa, jotka käsittelivät todellisia projekteja tehtävien sijaan, huomattiin selkeitä vähennyksiä virheiden määrässä TypeScriptillä. Siis hyvin pienimuotoiseen projektiin tai prototyyppiin voi käyttää JavaScriptiä, mutta yhtään suurempaan projektiin TypeScript on järkevämpi vaihtoehto. Myös JavaScript-koodin muuttaminen TypeScriptiksi kesken projektin on mahdollista vähittäisen tyypityksen ansiosta.
Kokoelmat
- Kandidaatintutkielmat [8997]