Kuidas kirjutada kvaliteetset tarkvara

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.

Koolituse lühikokkuvõte: 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.

Koolitus toimub koostöös Uptime OÜ-ga.

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“

Koolituse tulemusena osaleja:

  • oskab tähelepanu pöörata tarkvaraprojekti 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 tarkvaraprojekti 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.

Koolitusel osalemise eeldused (soovitavalt): koolituse raames koodi kirjutama ei pea, kuid isiklik sülearvuti ja oskus koodi kirjutada teevad mõnes grupitöös osalemise huvitavamaks

Metoodika: 

Koolitus on praktiline ja baseerub koolitajate aastatepikkusel kogemustel ning annab konkreetseid näpunäiteid tarkvara elukaare pikendamiseks.

Maht: 16 akadeemilist tundi

Täienduskoolituse õppekavarühm: 0613 Tarkvara ja rakenduste arenduse ning analüüsi õppekavarühm

 

Koolitust viivad läbi Tanel Hiob, Rene Pärnpuu, Jonne Pitk ja Raimo Seero

Tanel Hiob 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 ning veedab palju aega oma isikliku GitHubi arhiivi täiendamisega. 

Rene Pärnpuu on õppinud infotehnoloogia spetsialistiks ja süsteemide administreerimist. Tänaseks on ta üle 10 aasta töötanud 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.

Jonne Pitk on Uptime`s arhitekt, lisaks sellele õpetab ta Vanalinna Hariduskolleegiumis gümnasistidele tarkvaraarendust. Jonne on tegutsenud infotehnoloogia valdkonnas peaaegu 20 aastat ja täitnud erinevaid IT-arendusega 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.

Raimo Seero 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 tehnoloogiajuht.

 

Ajakava

1. Päev
2. Päev
09:15 - 09:30
Kogunemine ja sissejuhatus

Koolitus toimub aadressil Vana-Lõuna 39/1, Tallinn, IT Koolituse ruumides. 

09:30 - 11:00
1. Kuidas valida õige arhitektuur?
  • Millal saab koodist arhitektuur?
  • Ülevaade levinud arhitektuuridest
  • Mikroteenuste head ja vead
  • Onion ja n-tier arhitektuuride implementatsioon
  • Ülemineku arhitektuur

Kasutatavad meetodid: loeng, praktilised näited

11:00 - 11:15
Kohvipaus
11:15 - 12:45
2. DEVops tooling ja dokumentatsioon (kuidas see mõjutab tarkvara elutsükli pikkust)
  • 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
3. Testimine
  • 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:45
4. Töövoog, konteinerid, monitooring
  • Levinud töövood ja nende taust
  • Töövoog ja dokumentatsioon
  • Tööriistad, mis teevad elu lihtsamaks ("Docker Desktop", "Portainer" ja lisad)
  • Rakenduse diagnostika vs ärilised logid
  • Turvalisus
  • Kuidas õigesti logida?

Kasutatavad meetodid: loeng, praktiline harjutus

09:15 - 09:30
Kogunemine – öise monitooringu tulemuste ülevaatamine

Koolitus toimub aadressil Vana-Lõuna 39/1, Tallinn, IT Koolituse ruumides.

09:30 - 11:00
1. Monitooring/logimine, turvalisus
  • Erinevad võimalused ja soovitused
  • Rakenduse diagnostika vs ärilised logid
  • Turvalisus
  • Kuidas õigesti logida?

Kasutatavad meetodid: loeng, praktiline harjutus

11:00 - 11:15
Kohvipaus
11:15 - 12:45
2. 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

12:45 - 13:30
Lõuna
13:30 - 15:00
3. Code review, mentoring
  • meetodid ja nende võrdlus
  • Protsessi kokkuleppimine ja juurutamine
  • Mida jälgida? Millele tähelepanu pöörata?
  • Kes on mentor ja menteed?
  • Mentorlusega alustamisest
  • Üldine suhtlemine, suhtumine ja konfliktide haldus

Kasutatavad meetodid: loeng, praktiline harjutus

15:00 - 15:15
Kohvipaus
15:15 - 16:45
4. Staatilised analüsaatorid, ilus api, AI
  • Levinud töövood ja nende taust
  • Töövoog ja dokumentatsioon
  • Tööriistad, mis teevad elu lihtsamaks ("Docker Desktop", "Portainer" ja lisad)
  • Rakenduse diagnostika vs ärilised logid
  • Turvalisus
  • Kuidas õigesti logida?

Kasutatavad meetodid: loeng, praktiline harjutus

Lisainfo

Registreerudes e-poe, e-kirja või telefoni teel, saadame Teile arve ja täpsema info osalemise kohta. Enne koolituse toimumist saadame Teile e-kirjaga meeldetuletuse osalemise infoga. Koolitusel osalemine on nimeline, kuid saate osalejat tasuta muuta kuni koolitusprogrammi alguseni.  

Koolituse läbinutele väljastatakse tunnistus. Tunnistuse väljastamise eelduseks on terves mahus koolitusel osalemine ja õpiväljundite saavutamine. Õpiväljundite saavutamist hinnatakse praktiliste tööde käigus. Osalejale, kes õpiväljundeid saavutanud ei ole, väljastatakse soovi korral koolitusel osalemise kohta tõend.

Koolitus toimub hästi valgustatud ning metoodikat toetavas ruumis.

Ratastooliga ligipääs on tagatud.  

Tühistamistingimused

Kui te ei saa mingil põhjusel koolitusel osaleda, palun andke sellest teada e-posti aadressil [email protected]. Kui teatate mitteosalemisest vähemalt 7 kalendripäeva ette, lepime Teiega kokku uue aja või tagastame 100% koolituse maksumusest. Tagastame koolituse osalustasu täismahus juhul, kui pole tehtud koolituse korraldamisega seotud kulutusi (ostetud õppematerjale jms). Koolitusele mitteilmumisel, sellest mitteteatamisel või koolituse poolelijätmisel õppetasu ei tagastata.