Talk:Power Of Two

From ICO wiki
Revision as of 19:55, 24 January 2018 by Kkeelman (talk | contribs) (Retsentsioon meeskonna Power of Two)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Retsentsioon meeskonnale Power of Two Retsenseeris meeskond Märkmik

Projekti eesmärgid

Vastavalt meeskonna Wiki leheküljele on rakenduse eesmärgiks võimaldada klientide, kandidaatide ja konkurssite haldamist ning paindlike otsingufiltrite kasutamist.

Funktsionaalsus

Olemasolev funktsionaalsus katab suures osas eesmärkides loetletud teemad ning sarnaneb ülesehituselt suuresti registriga. Mõned must-have funktsionaalsused on veel realiseerimata, kuid see on ka meeskonna Wiki leheküljel välja toodud. Sisselogimise järel on võimalik sisestada infot lähtudes kolmesest jaotusest: kandidaat, klient, tööpakkumine. Iga vorm erineb veidi lähteandmete poolest, kuid vormide struktuur on sarnane. Kõige mahukam on kasutajaliidese poolelt vaadatuna kandidaadi vorm, kus lisaks kandidaatide andmetele saab eeldefineerida lähteandmestikku hariduse, oskuste, ametinimetuse ja töötingimuste osas ning seda hiljem kandidaadi vormil kasutada.

Probleemid, mis silma jäid

Rakendust on võrdlemisi lihtne kokku kokku jooksutada: proovisin sisestada kandidaati kasutades ühtlasi hariduse all eeldefineeritud infot, kuid sattusin “System.FormatException: ‘Input string was not in a correct format” vea otsa.

On küsitav, kas näiteks kandidaadi info sisestamise puhul on realistlik, et kasutaja teab peast ID väärtust. Üldjuhul orienteerub rakenduse lõppkasutaja nimetuste järgi, mistõttu usun, et parem alternatiiv oleks kas sama välja nimetuse sisestamise lubamine või rippmenüü kasutamine, kus kajastuksid juba sisestatud kirjed.

Tekstiväljade, mille puhul sisu on kasutajat abistava loomuga, võiks kaaluda nende tühjendamist pärast kasutaja klikki antud väljal, kuivõrd kasutaja poolt nende manuaalne tühjendamine on tülikas.

Andmete muutmine otse tabelist on lihtne ja mugav, kuid pole selge, kas sel juhul omab mõtet funktsionaalsus “Muuda”. Samuti ootaks, et “Muuda” funktsionaalsus eeltäidaks vaates juba olemasoleva info, sest antud lahenduse puhul võib juba sisestatud info lihtsasti kaduma minna.

Otsing töötab ootuspäraselt, kuid kuidagi peaks olema võimalik ka otsingut tagasi võtta, st kuvada vajadusel kõiki tulemusi. Samuti võiks mõelda kolmese jaotuse ülesele otsingule, kuivõrd projekti eesmärgiks oli ühtlasi olemasolevates andmetes mugav orienteerumine.

Üle tuleks käia ja ühtlustada labelite nimetused ja tekstid, mis võiksid olla lihtsamini mõistetavad.

Kindlasti vajab veel kõvasti tööd rakenduse UI ja UX pool tervikuna. Läbimõtlemist vajaks sealhulgas rakenduse vaadetes eri väljade asukohad, et muuta need kasutajale lihtsamini hoomatavaks, aga ka vältimaks võimalikke probleeme. Näiteks otsingu ja kustutamise funktsionaalsuse lähestikku hoidmine tundub võrdlemisi riskante, sest kasutajal võivad need lihtsasti kogemata vahetusse minna.

Positiivne

Rakendusega on kahtlemata tehtud omajagu tööd ning selle teatav hektilisus stiilis näitab, et panustanud on mõlemad projekti liikmed. Arvestades meeskonna suurust ja ettevõetud töö mahukust, on olemas tugev põhi, millega on võimalik edasi liikuda. Positiivselt üllatas tabelite sorteerimise funktsionaalsus, mida oli hea kasutada ning mis on suurt kirjete arvu arvesse võttes kahtlemata oluline mugavusfunktsioon.

Hinnang lähtekoodile

Kood on jagatud vastavalt teemadele klassidesse ning selle üldstruktuur hästi teostatud. Klasside siseselt on ülesehitus aga veidi hektilisem ning siin oleks oluline, et tiimiliikmed lepiksid kokku standardis, kuidas asju teha.

Klasside siseselt võiks hoida ühtset joont vahepealsete tühjade ridade osas: kui neid on liiga vähe või kui struktuur erineb klassi siseselt, siis on raske koodi lugeda. Näiteks domeeniklassi “Candidate” lahendus on kõige lugemissõbralikum ja selliselt võiksid olla lahendatud ka kõik teised klassid.

Osade meetodite siseselt tuleks üle vaadata kommentaarid, testimiseks loodud kuid väljakommenteeritud kood ning ka vormistus, mis raskendavad koodi loetavust. Mõned reavahetused toimuvad selliselt, et need muudavad koodi sisulised loetamatuks. Näiteks: CandidateService klassi meetod SaveCandidate.

Mõned osad koodist on lühidalt kommenteeritud, kuid ennekõike on kommentaare kasutatud vigade ja edaspidise töö haldamiseks; leiame, et kommentaare võiks kasutada ka olulisemate koodiosade loogika lahtiselgitamiseks.

Mõnes üksikus meetodis on kasutatud eesti keelt, kuigi suurem koodi on kirjutatud kasutades inglise keelt. Ei pea seda antud ülesande raames suureks probleemiks, kuid leiame, et korrektne oleks kasutada läbivalt ühte keelt.

Kokkuvõte

Mahukas rakendus on MVP tasandil realiseeritud, kuid see vajab veel täiendusi puuduolevate must-have funktsionaalsuste ja veahalduse osas ning kohendamist kasutajaliidese poolel. Arvestades meeskonna suurust ja selle vahepealselt muutumist on projektiga tehtud head tööd.