Dissertation/ Thesis

Clang-Tidyn laajentaminen yrityksen tarpeiden mukaisesti

التفاصيل البيبلوغرافية
العنوان: Clang-Tidyn laajentaminen yrityksen tarpeiden mukaisesti
المؤلفون: Kiiskilä, Eetu
سنة النشر: 2023
المجموعة: Theseus.fi (Open Repository of the Universities of Applied Sciences / Ammattikorkeakoulujen julkaisuarkisto)
مصطلحات موضوعية: Peliteknologia, fi=Tieto- ja viestintätekniikka|sv=Informations- och kommunikationsteknik|en=Information and Communications Technology, tietokoneohjelmat, C++ (ohjelmointikieli), ohjelmointi, tietotekniikka, ohjelmistokehitys, automaatio, testaus, avoin lähdekoodi, Insinööri (AMK), tieto- ja viestintätekniikka
الوصف: Tässä opinnäytetyössä kehitettiin laajennettu versio Clang-Tidysta, joka on osa LLVM-projektia. Tavoitteena oli lisätä työkaluun vähintään yksi uusi tarkistus sekä automaatiotestit ja dokumentaatio tälle. Tarkoituksena oli, että toimeksiantaja Bittium Wireless Oy voisi opinnäytetyön avulla arvioida, onko Clang-Tidyn kehittäminen yrityksen tarpeiden mukaan järkevää. Lisäksi opinnäytetyö toimisi tarvittaessa ohjeena uusien tarkistusten lisäämiselle työkaluun. Aluksi tutustuttiin ohjelmointikäytänteiden teoriaan ja siihen, millaisia työkaluja ohjelmointikäytänteisiin liittyen on olemassa. Lisäksi tarkasteltiin toimeksiantajan tarpeita koodianalyysityökaluille. Clang-Tidyn käyttöönotto kuvattiin yksinkertaisen CMake-pohjaisen C++-projektin avulla. Esimerkkiprojektin avulla myös esiteltiin Clang-Tidyn tukemat määrittelytiedostot. Lisäksi selitettiin toimintaperiaate sille, miten ohjelmistokehityksen automaatioputkessa Clang-Tidya käyttäen on mahdollista estää ohjelmointikäytänteistä poikkeavan koodin pääsy versionhallinnan päähaaraan. Käytännön toteutuksena saatiin aikaan oma moduuli toimeksiantajalle Clang-Tidyyn sekä tarkistus, jonka avulla voidaan havaita ei-julkinen luokkien periytyminen C++-koodissa. Tälle tarkistukselle kirjoitettiin automaatiotestit, jotka paljastivat virheen tarkistuksen toteutuksessa. Virhe korjattiin ja tarkistus todettiin testien päivittämisen jälkeen toimivaksi. Lopuksi uudelle tarkistukselle kirjoitettiin dokumentaatiosivu sekä lisäys julkaisutietoihin ja Clang-Tidyn tarkistusten luetteloon. Muokattu versio Clang-Tidysta otettiin onnistuneesti käyttöön toimeksiantajan projektissa. Aikaansaannos vastasi opinnäytetyölle asetettuja tavoitteita. Työn aikana tuli selväksi, että LLVM:n dokumentaatio on monelta osin puutteellista. Clang-Tidyn laajentaminen projektin tarpeiden mukaan vahvisti käsitystä siitä, että ohjelmistojen kokoaminen lähdekoodeista ja avoimen lähdekoodin projektien muokkaaminen ovat hyödyllisiä taitoja. Testauksen paljastama virhe toimii hyvänä osoituksena ...
نوع الوثيقة: bachelor thesis
اللغة: Finnish
Relation: Bittium Wireless Oy; http://www.theseus.fi/handle/10024/815731; URN:NBN:fi:amk-2023121336819
الاتاحة: http://www.theseus.fi/handle/10024/815731
Rights: fi=All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.|sv=All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.|en=All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.|
رقم الانضمام: edsbas.630A5596
قاعدة البيانات: BASE