Viienda kodutöö kaitsmine paaristööna

  1. Kui teil pole oma töö viimast seisu bitbucket'is (või github'is), siis looge kohe praktikumi alguses versioon (commit) ning laadige see üles. Vajadusel vaadake esimese praktikumi materjale.
  2. Õppejõud/assistent määrab teile paarilise, see peaks olema keegi, kellega te varem selles aines paaristööd teinud ei ole. Paaritu arvu osalejate korral teeb üksijäänu arendaja töö ning paneb näited main-meetodisse.
  3. Avage oma kodutöö IntelliJ's (vm. IDEs, et seda oleks võimalik muuta ja testida). Ka testid peavad töötama ja fail TnodeTest.java peab olema versioonihalduses.
  4. Seletage paarilisele oma programmi tööpõhimõtet. Paariline teeb sama ja siis võrrelge lahendusi ning otsustage, kumb lahendus võtta aluseks lisatööle.
  5. Edasi on kaks tööd, mida võite vabalt omavahel jagada: arendamine ja testimine. Üks paariline ("arendaja") vastutab faili Tnode.java eest, teine paariline ("testija") faili TnodeTest.java eest.
  6. Arendamine: Täiendage meetodit buildFromRPN  nii, et see aktsepteeriks sisendis veel operatsioone DUP, SWAP ja ROT, millel on järgmine tähendus: Vaadake nende operatsioonide tähendust kolmanda kodutöö kaitsmise juhendist - puu väljaarvutamisel peab tulemus olema sama, mille väljastaks sama sisendi korral meetod interpret.
    Näited:
  7. Realiseerige muudatused meetodis buildFromRPN. Kindlasti proovige eelnevaid näiteid.
  8. Testimine: kirjutage kõigi eelmises punktis toodud näidete kohta junit4 testid (täiendage faili TnodeTest.java seal olemasolevate näidete põhjal). Lisage veel meetodite alatäitumist (DUP vajab üht, SWAP kaht ja ROT kolme elementi) kontrollivad testid (vähemalt kolm negatiivset).
  9. Tehke uus versioon (commit"Arendaja: Perekonnanimi, Testija: Perekonnanimi"  ning laadige see bitbucket'isse (või github'i), paariline teeb oma koodiga sama. Tehke seda alles siis, KUI TESTIMISE OSA TÖÖTAB.
  10. Olge mõlemad paarilised eraldi valmis näitama paari poolt tunnis tehtud tööd (commit ning loodud lahendus koos testidega), versiooniajalugu peab näitama, et tegite töö selle praktikumi ajal.
  11. Täitke Moodle ülesanne "Kodutöö 5 kaitsmine".

Jaanus Pöial