Miksi valitsen TypeScriptin aina kun se on mahdollista?

Vielä pari vuotta sitten olin vahvasti sitä mieltä, että TypeScriptin hyödyistä pääsee nauttimaan vasta silloin, kun tehdään isoa projektia isolla tiimillä. Pienemmissä ja keskisuurissa projekteissa koin pärjättävän hyvin pelkällä JavaScriptillä. Tuolloin saattoi tuntua siltä, että kyllä se vähän isommankin himmelin rakenne pysyy helposti muistissa. Näinhän ei kuitenkaan usein ole. Viikon poissaolo projektista saattaa riittää siihen että kokonaiskuva sumenee sen verran, että saa käyttää useamman tovin selvittääkseen, että mitähän ihmettä koodissa oikein tapahtuu. Useimmiten tämä johtuu joko puutteellisesta tai kokonaan puuttuvasta koodin dokumentoinnista.

Helppo käyttöönotto ja parempi dokumentaatio

Tyypitetyn kielen käyttäminen ei missään nimessä poista koodin dokumentoinnin tarvetta, oikeastaan se pakottaa kirjoittamaan dokumentaatiota tyyppien muodossa. Myös dokumentaation “lukeminen” helpottuu huomattavasti kun editorin IntelliSense osaa ehdottaa esimerkiksi sitä millaisia metodeja jollain luokalla on käytettävissä.

Tänä päivänä TypeScriptin käyttöönotto on myös todella helppoa. Create-react-app osaa luoda suoraan TypeScript projektin, kun ennen tämä vaati käsin tehtävää konfigurointia. Babel osaa kääntää TypeScriptin JavaScriptiksi ja quicktype osaa luoda TypeScript tyypitykset suoraan JSONista.

TypeScript ei tietenkään ole niin sanottu silver bullet, joka ratkaisisi jokaisen ongelman automaattisesti. Se kuitenkin ohjaa toimimaan tiettyjen sääntöjen mukaisesti ja pakottaa dokumentoimaan koodia tyyppien muodossa. Näin koodi on helpommin luettavaa muilla ja myös itselle. Mielestäni Typescript auttaa ennen kaikkea luomaan paremman kehittäjäkokemuksen ja sitä kautta parantaa työn mielekkyyttä ja nopeuttaa projektien etenemistä. Kun voin siirtää kirjoitusvirheistä huolehtimisen ja tietomallien ulkoa muistamisen TypeScriptille, pystyn keskittymään paljon paremmin olennaiseen, eli siihen miten ratkaisen asiakkaiden ongelmia koodin avulla.

Siksi valitsen aina TypeScriptin kun se on mahdollista.

Edellinen
Edellinen

Voiko konsulttiyritys maksaa palkkaa opiskelusta?

Seuraava
Seuraava

Koodariresurssien siirtelyä myynnin shakkilaudalla