Kuidas kirjutada kvaliteetset tarkvara
Koolituse käigus tutvustatakse clean code põhimõtteid, parimaid tavasid ja strateegiaid, mis aitavad kirjutada tarkvara, mis mitte ainult ei täida oma eesmärki, vaid on ka lihtsasti mõistetav, hooldatav ning vähendab vigade tekkimise riski. Koolituse käigus saab selgeks, kuidas hinnata koodi loetavust, rakendada efektiivset koodistandardit, kasutada kommentaare ja dokumentatsiooni õigesti ning ennetada vigu juba koodi kirjutamise protsessis. Lisaks õpetatakse, kuidas parandada meeskonnatööd.
Halvasti struktureeritud või keeruline kood võib oluliselt mõjutada tarkvaraarenduse protsessi tõhusust ja kvaliteeti. Halvasti valitud arhitektuur võib tõsiselt kahjustada tarkvaralahenduse kasutatavust ja puudulik arusaam lahenduse funktsionaalsusest ohustab tarkvaraarendusprojekti jätkusuutlikkust, hooldatavust, meeskonnatööd ja edasiarendatavust. Kvaliteetne tarkvaraarendus tagab et:
- tarkvara täiendamisel ei kasva haldus- ja arenduskulud eksponentsiaalselt ajas;
- on loodud kaitse inimriski ehk arendaja vahetumise vastu;
- tarkvara suudab muutuvate ärinõudmistega kaasa tulla;
- tarkvara on turvaline ja võimaldab turvauuendusi.
Koolituse eesmärk on õpetada arendajaid kirjutama kvaliteetset tarkvara, mida on lihtne hallata, testida ja muuta.
Sihtgrupp: koolitus sobib erineva tasemega arendajatele, kuid on kasulik ka tooteomanikele ja projektijuhtidele, kelle otsustest sõltub, kui pikk saab olema tarkvara elukaar ja selle „edukas eksisteerimisaeg“.
Koolitusel osalemise eeldused (soovitavalt): Koolituse raames koodi kirjutama ei pea, kuid isiklik sülearvuti ja oskus koodi kirjutada teevad mõnedes grupitöödes osalemise huvitavamaks.
Koolitus toimub koostöös Uptime OÜ-ga.
Programm:
- päev
- 09:15 – 09:30 Kogunemine ja sissejuhatus
- 09:30 – 11:00 Kuidas valida õige arhitektuur?
- Millal saab koodist arhitektuur?
- Ülevaade levinud arhitektuuridest
- Mikroteenuste head ja vead
- Onion ja n-tier arhitektuuride implementatsioon
- Üleminekuarhitektuur
- Kasutatavad meetodid: loeng, praktilised näited
- 11:00 – 11:15 Kohvipaus
- 11:15 – 12:45 DevOps vahendid, projekti dokumentatsioon
- Mis moodustab tarkvara ehk rakenduse?
- Automatiseerimine ja selle vajalikkus
- Valitud tööriistade tutvustus
- Mida millal kasutada?
- Millal tuleks alustada dokumentatsiooniga ja miks?
- Joonised, diagrammid ja muud visuaalsed komponendid
- Mida dokumentatsioonis vältida?
- Milliseid dokumente võib klient veel soovida?
- Kasutatavad meetodid: loeng, praktilised näited
- 12:45 – 13:30 Lõuna
- 13:30 – 15:00 Automaattestimine
- Automaattestide võlu ja paratamatu valu
- Milline kood ja arhitektuur on testitav?
- Integration vs unit testimine
- Regressioonitestid
- AAA stiil
- Testimatu koodi testimine
- Kasutatavad meetodid: loeng, praktiline harjutus
- 15:00 – 15:15 Kohvipaus
- 15:15 – 16:30 Töövoog, konteinerid
- Levinud git töövood ja nende taust
- Töövoog ja dokumentatsioon
- Tööriistad, mis teevad elu lihtsamaks (“Docker Desktop”, “Portainer” ja lisad)
- Kasutatavad meetodid: loeng, praktiline harjutus
- 16:30 – 16:45 Monitooringu sissejuhatus, kodutöö
- Mida peab monitooring suutma?
- Luuarendi sissejuhatus ja vabatahtliku kodutöö kirjeldus
- päev
- 09:15 – 09:30 Kogunemine ja kodutöö tulemused
- 09:30 – 10:30 Monitooring ja logimine
- Monitooringu erinevad võimalused ja soovitused
- Rakenduse diagnostika vs ärilised logid
- Turvalisus
- Kuidas õigesti logida?
- Kasutatavad meetodid: loeng, praktiline harjutus
- 10:30 – 10:45 AI koodiabilised
- Mänguasjad või tööriistad?
- Näiteid ja kogemusi
- 10:45 – 11:30 Code review
- Meetodid ja nende võrdlus
- Protsessi kokkuleppimine ja juurutamine
- Mida jälgida? Millele tähelepanu pöörata?
- Kasutatavad meetodid: loeng, praktiline harjutus
- 11:30 – 11:45 Kohvipaus
- 11:45 – 12:45 Mentoring
- Kes on mentor ja mentee?
- Mentorlusega alustamisest
- Üldine suhtlemine, suhtumine ja konfliktide haldus
- Kasutatavad meetodid: loeng, praktiline harjutus
- 12:45 – 13:30 Lõuna
- 13:30 – 15:00 Ilus kood
- Kellele me päriselt koodi kirjutame?
- Mille alla kaovad arendaja töötunnid?
- Mis on kognitiivne keerukus?
- Palju näiteid halvast koodist ja kuidas seda parandada
- Millise mentaliteediga tuleb ilus kood?
- Kasutatavad meetodid: loeng, praktiline harjutus
- 15:00 – 15:15 Kohvipaus
- 15:15 – 16:30 Staatilised analüsaatorid, ilus API
- Valitud analüsaatorite tutvustus
- Kuidas leitud muredega tegeleda?
- Kliendile võimalik lisakulu
- API dokumenteerimine ja versioneerimine
- API testitavus
- Kasutatavad meetodid: loeng, praktiline harjutus
- 16:30 – 16:45Lõppsõna, tagasiside
Koolituse tulemusena osaleja:
- Oskab tähelepanu pöörata tarkvara projekti erinevatele osadele, mis tagab jätkusuutlikkuse ja võimalikult pika projekti elukaare;
- suudab hinnata koodi loetavust ja arusaadavust, tuvastades probleemsed lõigud ja valdkonnad, mis võivad raskendada koodi mõistmist;
- suudab hinnata koodi loetavuse ja arusaadavuse vajadust ning seoseid puhta koodi ning tarkvara projekti jätkusuutlikkuse vahel;
- mõistab, millal ja kuidas lisada kommentaare ning kasutada dokumentatsiooni, et selgitada keerukaid osi, valikuid ja otsuseid, aidates teistel arendajatel mõista koodi konteksti;
- teab, kuidas kirjutada koodi, mis lihtsustab meeskonnatööd ning teabevahetust.
Koolitus on praktiline ja baseerub koolitajate aastatepikkusel kogemustel ning annab konkreetseid näpunäiteid tarkvara elukaare pikendamiseks.
Koolitajad:
Tanel Hiob
Tanel on hinnatud vanemarendaja, arhitekt ja tiimiliige Uptime`s. Tal on üle kümne aasta mitmekülgset tarkvaraarenduse kogemust nii Eestis kui ka mujal riikides. Sügav kirg programmeerimise vastu teeb temast põhjaliku ning pühendunud juhendaja noorematele arendajatele. Tanel hindab iga uut tehnoloogiat ja veedab palju aega oma isikliku GitHubi arhiivi täiendamisega. Töövälisel ajal veedab Tanel aega sqashiplatsil, ronimisseinal või Norra mägedes lumelaual.
Rene Pärnpuu
Rene on õppinud Infotehnoloogia spetsialistiks ja süsteemide administreerimist. Tänaseks on ta töötanud üle 10 aasta tarkvaraarendajana. Hetkel töötab Rene Helmeses vanemarendajana. Tema peamine fookus on toetada uusi töötajaid uute rollidega kohanemisel ja arendada kolleegide probleemide lahendamise oskust. Oma igapäevatöös saadud kogemusi ja mõtteid jagab Rene ka koolitusel. Vabal ajal hoiab ennast kursis uute trendidega IT maailmas, lisaks tegeleb piljardi ning muude pallisportidega.
Jonne Pitk
Jonne on Uptime`s arhitekt, lisaks sellele õpetab ta Vanalinna Hariduskolleegiumis gümnasistidele tarkvaraarendust. Jonne on infotehnoloogia valdkonnas peaaegu 20 aastat ja täitnud erinevaid IT-arndusega seotud rolle. Lisaks koodi kirjutamisele on ta oma tiimi liikmetele nõuandjaks nii projektide arhitektuuri kui ka võimalike keerukamate probleemide lahendamise osas. Tänu oma pikaajalisele kogemusele on Jonnel hea ülevaade erinevast äriloogikast ja tehnilisest keerukusest. Vabal ajal meeldib Jonnele mängida arvutimänge.
Raimo Seero
Raimo liitus Uptime`ga 2001 aastal ning on täitnud ettevõttes erinevaid rolle alates kasutajatoe spetsialistist kuni tarkvara arhitektini. Tema pikaajaline kogemus erinevates faasides projektidega ja klientidega ning loomupärane huvi tehnoloogiamaailma võimaluste vastu, on rikastanud tema teadmiste- ja kogemustepagasit. Selle tulemusena on ta võimeline keskenduma olulistele aspektidele nii tehnoloogia kui ka protsesside osas. Hetkel on Raimo Uptime`s CTO ja vastutab meeskonna oskuste ning arendusprojektide jätkusuutlikkuse eest.
Koolitusfirma tutvustus
IT Koolitus on juhtiv info- ja kommunikatsioonitehnoloogia ning IT projektijuhtimise koolitusteenuse pakkuja Baltikumis. Loen koolitusfirma kohta veel...