
TerveysHelppi tuo sairalaan ihmisen luo
TerveysHelppi on CGI:n kehittämä mobiilisovellus ja virtuaalisairaala, joka tuo Mehiläisen ...
TerveysHelppi on CGI:n kehittämä mobiilisovellus ja virtuaalisairaala, joka tuo Mehiläisen ...
Nykyaikaisella puheentunnistuksella voidaan tuottaa tekstiä nopeasti ja helposti. Puheentunnistus mahdollistaa ...
Kotihoito Mukana -mobiiliratkaisussa optimointi on saumaton osa työnohjausta ja se ...
Finavian tärkein tavoite on tehdä matkustamisesta sujuvaa ja mutkatonta. Konsultoimme ...
HUSissa haluttiin ottaa selvää nykyaikaisen puheentunnistuksen mahdollisuuksista yhdessä pitkäaikaisen kumppanin ...
Millaista on työskennellä CGI:llä? Kolme nuorta, Nanna Vainio, Eva Lehtinen ...
Asiakkaamme odottavat IT-ratkaisujen toimittajilta jatkuvasti parempaa tuottavuutta. Väitän, että valitulla ohjelmointikielellä on suurempi vaikutus IT-ratkaisujen toteutuksen tuottavuuteen kuin usein ajatellaan. Miksi näin?
Lean Startup, MVP, DevOps, pilviteknologiat - näitä meiltä kysytään. Miksi? Koska uusilla menetelmillä ja teknologioilla haetaan parempaa tuottavuutta.
CGI Nextissä tarjoamme asiakkaillemme palvelua, ja asiakkaamme odottavat meiltä tuottavuutta. Siksi tuottavuus on myös tärkeimpiä työmme laadun mittareita.
Mitkä ovat sitten tärkeimmät edellytykset hyvälle tuottavuudelle?
1. Koodaaminen tulkattavalla ohjelmointikielellä
Kehittäjien ajasta aivan liikaa menee kääntämiseen, asennuksiin sekä prosessien käynnistelyihin. Tulkattavalla kielellä tehty koodimuutos näkyy sovelluksessa välittömästi, ja kehittäjä voi keskittyä olennaiseen, eli koodin kirjoittamiseen. Tuottavuus nousee huimasti.
2. Tyypittömyys
Kaikissa tilanteissa tyypit eivät tuo lisäarvoa. Esimerkiksi TypeScriptillä tehty toteutus vaatii noin 30 % enemmän koodia verrattuna tyypittömään JavaScript-toteutukseen. Toimivia asioita saa tehtyä hämmästyttävän pienellä koodimäärällä, kun rajapintoja, domainmalleja ja mallien mappayksiä ei tarvitse erikseen määritellä ja ylläpitää.
3. Funktionaalisuus ja tilattomuus
Olio-ohjelmoinnin ongelma on päätöksenteon hajautuminen ja tilallisuus. Tilallisuus on haasteena skaalautuvissa järjestelmissä, ja se myös monimutkaistaa asioita. Tilallinen olio käyttäytyy eri tavalla eri tilanteissa, mikä tekee siitä arvaamattoman.
Tilattomat funktiot sen sijaan ovat luotettavia, koska ne palauttavat aina saman arvon, kun niitä kutsuu samoilla parametreilla. Se tekee myös toteutuksen testaamisen helpoksi.
Olioita voi periä, mikä on kiva juttu, mutta funktioille voi antaa parametreina funktioita ja ne voivat palauttaa funktioita. Hienojakoisia funktioita yhdistelemällä voidaan siis rakentaa uusia toimintoja todella kätevästi. Funktioiden uudelleenkäytettävyys on ylivoimainen verrattuna olioihin. Tämä vähentää koodimäärää ja parantaa koodin luotettavuutta.
Väitän, että valitulla ohjelmointikielellä on suurempi vaikutus IT-ratkaisujen toteutuksen tuottavuuteen kuin usein ajatellaan.
Monissa paikoissa mietitään pilvistrategioita ja teknologioita. Fronttipuolella JS-frameworkkeja harva enää kyseenalaistaa, mutta APIen osalta valitettavan usein turvaudutaan perinteisiin Java/.NET -ratkaisuihin.
Itse kannustan valitsemaan Node.js:n API-toteutuksiin. Tässä muutama syy, miksi liputan sen puolesta:
Kirjoittaja toimii CGI Next -yksikössä asiantuntijana. CGI Nextiin on koottu uudet teknologiat sekä niihin liittyvät asiantuntija- ja design-palvelut.
Toimin CGI Next -yksikössä johtavana arkkitehtina, teknisenä leadina, kehittäjänä ja konsulttina. Olen aikaisemmin työskennellyt myös liiketoiminnan kehitystehtävissä ja liiketoimintojen kehittäminen uusimpien teknologioiden avulla on suurin intohimoni. Kehityshankkeiden johtaminen on minulle luontevaa. Pidän asiakkaiden ja eri toimialojen asiantuntijoiden kanssa työskentelemisestä. Alustatalous, API -arkkitehtuurit, pilvipalvelut, leanisti ...
Comments
Typescript toteutus ei vaadi 30% enemmän koodia kuin Javascript vaan usein reilusti vähemmän. Tyypityshän on TS:ssä kokonaan valinnaista. TS tarjoaa myös enemmän kielen rakenteita käytettäväksi jolloin rivejä tulee vähemmän kun niitä osaa käyttää. Tuottavuus kasvaa IDE:ä käytettäessä siinä että koodin täydennys ja virheenkorjaus toimii paremmin tyypitysten ansiosta. TS korjaa myös monia Javascriptin "hölmöyksiä".
Kiitos kommentista! Tyypitys on aina jakanut mielipiteitä. Oman kokemukseni mukaan rajapinnat lisäävät koodimäärää - arvio 30% perustui omiin kokemuksiini. Toki jos TS:ää käyttää vain osittain niin ero on pienempi. IDE:n virheenkorjauksessa olen nojannut yleensä ESLintiin. TypeScriptillä on toki kannattajansa. Mielenkiintoista nähdä mihin suuntaan asiat kehittyvät!
Kirjoita kommentti
Blogi-kommentoinnin ohjeet ja käyttöehdot