Sovelluksen laatu
Sovelluskehittäjän on tärkeää tuottaa laadukkaita sovelluksia ja kehittää osaamistaan. Sovelluksen laatuun vaikuttavat tekijät voidaan karkeasti jakaa neljään eri osa-alueeseen: koodiin, testaukseen, turvallisuuteen ja kommunikointiin. Laatu on tärkeää, koska se vaikuttaa sovelluksen muokattavuuteen, ylläpidettävyyteen ja turvallisuuteen. Tässä artikkelissa pyrin esittelemään sovelluksen laatuun vaikuttavat tekijät, käyttäen hyväksi kehittämääni mobiilisovellusta, jonka projektinimi on NesteApp.
NesteApp on React Nativella tehty mobiilisovellus, jonka tarkoituksena on luoda simulaatio oikean elämän lääketieteellisestä tilanteesta. NesteApp ei ole lääketieteellinen sovellus, eikä se täytä lääketieteellisiä vaatimuksia kuten EU:n MDR vaatimuksia (EU MDR 2019). Sovellus laskee infuusion määrän ja tilavuuden käyttäen Hollyday-Segarin metodia sekä sovellukseen syötettyä painoa. Listasta pystyy valitsemaan haluamansa liuoksen ja liuokselle antaa haluamansa infuusion arvon.
Sovelluksen laatuun vaikuttavat tekijät
Yksi sovelluksen laatuun vaikuttava tekijä on koodin laatu, johon vaikuttavat useat eri tekijät kuten funktioiden ja muuttujien nimeäminen, kommentointi, rakenne ja luettavuus sekä valittu framework. Erityisesti aloittelevat kehittäjät ylikommentoivat koodiaan, sen sijaan funktioiden nimeäminen voisi olla hyödyllisempää (Martin 2012, luku 2). Muun muassa NesteAppissä on funktio ”posButton”. Nimestä voi päätellä, että kyseessä on positiivinen painike, mutta itse funktion toiminnallisuudesta nimi ei kerro mitään. Toiminnallisuus on selitetty erillisellä kommentilla. Kommenttia ei tarvittaisi, jos funktio olisi alun perin nimetty oikein. Toisaalta kommentti voi olla tarpeellinen, jos funktiota ei voida nimetä.
Koodin rakenteeseen vaikuttaa myös formatointi, jonka tulisi olla yhteneväinen kehittäjien kesken. Jos rakenne ei ole yhteneväinen, koodista tulee vaikeasti ylläpidettävä (Martin 2012, luku 5). Framework valinta voi myös vaikuttaa koodin laatuun. Esimerkiksi NesteAppiin valittiin React Native, koska kielellä pystyi luomaan yhdellä koodilla sovelluksen sekä Android että IOS käyttöjärjestelmille. Toisaalta React Nativen käyttö tarkoittaa sitä, että sovellusta kehitettäessä joudutaan toisinaan turvautumaan kolmannen osapuolen kirjastoihin, joka voi olla laatuun vaikuttava tekijä.
Sovelluksen laatuun vaikuttavat myös testaus, turvallisuus ja kommunikointi. Testaus tarkoittaa sovelluksen läpikäyntiä ja toiminnallisuuksien testausta, joko manuaalisesti tai automaation avulla. Testauksella selvitetään, toimiiko sovellus ja sen toiminnot halutulla tavalla. Turvallisuuden kannalta on tärkeää miettiä, mitä tietoja sovellus kerää käyttäjästä ja mihin niitä käytetään. EU:lla on omat säädöksensä datan keräyksestä ja käsittelystä (EU Commission 2023). Tämän vuoksi on tärkeää huomioida ihmisten yksityisyys, ja varmistaa ettei kenelläkään ole luvatonta pääsyä käyttäjien tietoihin. Kommunikointi ja hyvä yrityskulttuuri parantavat myös sovelluksen laatua (SWEBOK, 7-2). Jos ilmapiiri on salliva, on helpompaa ottaa vastaan rakentavaa kritiikkiä ja palautetta.
Koodin kommentteja kirjoittaessa tulee miettiä, onko kommentti tarpeellinen vai voisiko kommentin korvata nimeämällä funktio ymmärrettävämmin
Miten sovelluksen laatuun vaikuttavia tekijöitä voi kehittää?
Laadun osa-alueita on tärkeää pystyä kehittämään. Koodin kommentteja kirjoittaessa tulee miettiä, onko kommentti tarpeellinen vai voisiko kommentin korvata nimeämällä funktio ymmärrettävämmin. Koodin laatuun vaikuttaa myös formatointi, johon voi käyttää erilaisia lisäosia, kuten esimerkiksi Prettier.
Yksi tärkeimmistä kehittymisen välineistä on kuitenkin katselmointiprosessi, jossa muut tiimin jäsenet tarkastelevat koodia ja antavat palautetta sekä parannusehdotuksia. Kommunikointia voi kehittää pitämällä huolta siitä, että tiimin tai yrityksen kulttuuri pysyy avoimena. Katselmoinnin jälkeen testaukseen olisi aina hyvä ottaa mukaan sekä manuaalinen että automaatiotestaus. Olennaista on myös kiinnittää huomiota turvallisuuteen. Koodin on oltava turvallinen ja liiallista datan keräämistä tulisi välttää. Tämän lisäksi data tulisi olla turvallisesti tallennettu.
Lähteet:
Paananen, K. 2023. Application quality : case study NesteApp – Theseus, Turun ammattikorkeakoulun opinnäytety-.
Bourque Pierre, Fairley (Dick) Richard E. 2014. SWEBOK v3.0: The Guide to the Software Engineering Body of Knowledge, IEEE. Viitattu 23.11.2023. https://ieeecs-media.computer.org/media/education/swebok/swebok-v3.pdf
EU Commission. 2023. Data Act. Viitattu 23.11.2023. https://digital-strategy.ec.europa.eu/en/policies/data-act
EU MDR. 2019. Guidance on Qualification and Classification of Software in Regulation (EU) 2017/745 – MDR and Regulation (EU) 2017/746 – IVDR. Viitattu 23.11.2023.
Martin, R. C. 2012. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.