IFI 6068 Sissejuhatus infosüsteemidesse · 2017 sügissemester · 14 loengut · 14 praktikumi · 12 ülesannet · 6 näiterakendust · eksam
01 uuriv programmeerimine - eesmärgiks on koodina teostada mingi funktsionaalsus, kuid ei ole selge kuidas seda teha. Teeki ei ole varem kasutanud, keelekonstruktsiooniga pole kogemust, API või raamistiku omadused on segased jne. Liigume kobamisi, proovides ja katsetades. Vajalikud võivad olla eraldi eksperimendid, et selgust saada. Eksperimendi kood ei lähe otseselt lõplikku koodibaasi. Tööriist ei ole tuttav, seetõttu võib edasiliikumine olla aeglane. Sisaldab teabe hankimist (StackOverflow, Youtube, tehnilised blogid, standardid, spetsifikatsioonid).
02 ladus programmeerimine - eesmärgiks on koodina teostada mingi funktsionaalsus, nii eesmärk kui ka moodus, kuidas teha, on selged. Samalaadset tööd on programmeerija hiljuti teinud, on veel värskelt meeles, kuidas teha. Seetõttu läheb töö ladusalt, võib-olla isegi monotoonselt ja igavalt. Tihti võetakse varem tehtud rakenduse kood ja modifitseeritakse seda.
03 viga otsiv programmeerimine - eesmärgiks on jälile jõuda olemasoleva koodi ebanormaalse käitumise põhjusele. Lisatakse logimislauseid, proovitakse üht- ja teistpidi, tehakse täiendavaid eksperimente keele või raamistiku omadustest õigesti arusaamiseks. Kui muu ei aita ja on võimalik, siis tehakse hoopis teistmoodi või teiste vahenditega.
04 testide kirjutamine - testid on samuti kood. Keerukama süsteemi süsteemi korral on neid vaja palju, teste kirjutatakse juba arenduse käigus ja suurt põhimõttelist vahet “tavalise” koodi ja testkoodi vahel ei olegi. Testi kirjutamisel tekib tahtmine testi ka kohe jooksutada; see on testi kirjutamise loomulik osa.
05 refaktooriv programmeerimine - kavandatakse küll ülalt-alla - komponentstruktuur jne, kuid selle kõrval on tekib ikka vajadus kirjutatud koodi ümber organiseerida - funktsioone veidi teistmoodi rühmitada, ühendada ja eraldada jne. Seda kõigil tasanditel - nii funktsiooni sees, komponentstruktuuris kui ka liidestes. Sisaldab ka dokumentatsiooni refaktoorimist.
06 dokumenteeriv programmeerimine - koodi ja dokumentatsiooni vahel ei ole põhimõttelist vahet. Võib teha mitut moodi: kood enne, dokumentatsioon hiljem või vastupidi. Koodi ja dokumentatsiooni ei siiski kirjutada päris sünkroonis. Seetõttu on vaja võtta aega dokumentatsiooni kirjutamiseks ja hiljem uuendamiseks.
07 varasemast koodibaasist (ja dokumentatsioonist) arusaamise loomine - teiste, aga ka enda poolt varem kirjutatud koodi lugemine eesmärgiga koodist aru saada.
08 töökeskkonna ülesseadmine - kaustade, abivahendite, programmeerijaredaktori, mallide jm taristu, ingl scaffolding, ülesseadmine.
09 ümberlülitumine teiselt töölt - kontekstivahetus, ingl context switching - vaimu puhastamine eelmisest tööst ja vaimne sisseelamine alustatavasse töösse.
09 tööriistade valmistamine - makrode, skriptide või tervete rakenduste kirjutamine eesmärgiga teha vahendeid, millega oma tööd saaks teha kiiremaks.
10 oma töö esitlemine