Talk:Ott

From ICO wiki
Jump to navigationJump to search

Retsensioon XML kohta meeskonnalt Blogify

Tubli, et tegi üksi, kindlasti sai ta hea kogemuse. XML on korrektne ja valideerub. Hea, et XML dimensioone on piisavalt. Elementide struktuur on läbi mõeldud ja andmed detailsed. Ka valitud teema on huvitav. On kasutatud piisavalt elemente ja atribuute. XML vastab ka XSD-le. Küsimust tekitab see, et kõikidel elementidel on väärtuse kirjutamisel kasutatud CDATA-t. Näiteks elementidel <era> ja <key> ei näe vajadust CDATA järele. Lisaks jääb silma, et mõnes kohas on elemendil “tempo” olemas atribuut “bpm”, kuid mõnes kohas ei ole.

XSD on korrektse vormiga ja valiidne. Hea, et UnsignedByte on ainult kohas, kus max väärtus on 10, mujal on kasutatud unsignedShorti. Võib-olla oleks võinud kasutada isegi unsignedInti. XSLT võiks olla pisut keerukam, erinevaid tingimuslauseid peaks rohkem olema.

Kokkuvõttes oli tegemist üsna hea tööga, eriti arvestades, et see on tehtud üksi. Ainuke suurem viga on, et XSLT puhul oleks võinud rohkem kasutada erinevaid tingimuslauseid

Retsensioon Veebiteenuse kohta meeskonnalt Mjart

Esimese asjana paistab silma, et on tehtud nii DAL,BL kihid, mis on positiivne. DALi vaadates leidsin mõned kohad, kus string andmetüübile pole pandud MaxLength atribuuti, mis võiksid seda omada (class Person). Autentimiseks on kasutusel OAuth, mis asub projektis nimega WebApi, kui ma sealt otsisin API kontrollereid, kust resursse leida, ma neid ei leidnud, küll on need olemas projektis WebApp. Kontrollerid tagastavad enamasti GET päringu kohta koodi 200, kui ei ole sisu oleks õigem tagastada 204 No Content. Üleüldiselt on Veebiteenus korralikult tehtud, kuid saab "nokkida" HTTP statuuskoodide ja andmemudeli MaxLength atribuutide kallal, funktsionaalsust palju ei ole, kuid seda on raske ühemeheprojekti puhul eeldada. Lisana võib projekti juures tuua esile Repository mustri kasutamise, mis teeb koodi palju loetavamaks. Veebiteenus tagastab DTOsid, mis on heaks tavaks, nii palju kui ma koodi vaatasin, võtavad teenused vastu ka DTOsid. Üks viga, mille ma leidsin on see, et ApartmentRepository ei kontrolli enne päringu teostamist, kas sellise ID-ga korter olemas on, kui üritatakse teistkordselt pärida korterit, mida olemas ei ole, visatakse erind - {"The operation cannot be completed because the DbContext has been disposed."}

Retsensioon Klientrakenduse kohta meeskonnalt Mjart

Klientrakenduses on kasutatud MVVM mustrit, mis jällegi teeb koodi loetavamaks ja paremini hallatavaks, küsimusi tekitab eestikeelsete kommentaaride kasutamine, kuna veebiteenust ja andmemudeleid vaadates, oli seal kasutatud inglise keelt, hea tava on kasutada enda Solutionis ühte keelt koodi kommenteerimiseks. Kasutatud on teenuseid (service, ning, kontsandid on ilusti pandud ühte faili "ServiceConstants"). Objektide loomine toimub factorys, kus on väljad kirja pandud, minu arvates on parem kasutada sellisel juhul Veebiteenust, mis tagastab tühja objekti, kuna siis ei pea DTOde muutmisel muutma Klientrakendust, ning võib andmete POSTimisel kindel olla, et kõik väljad on olemas. Andmete salvestamisel tagastatakse teated kujul "Tegevus X võiks olla nüüd tehtud", teateid võiks kuvada siis, kui on päring edukas olnud, ning Kontroller tagastanud vastava koodi/vea. Tundub, et suur osa klientrakendusest ei saanud õigeks ajaks valmis, kuna Hääletuste ja teadete lisamine ei tööta, kuid inimeste lisamine tundub töötavat. Kui üritada lisada inimest, aga sisestusväljad on tühjad, siis annab rakendus exceptioni, tundub et sealt kohast on mõni NullCheck puudu. Mina arvan, et rakenduse kasutamise loomisel on kasutatud häid arendusmustreid, kuid see vajaks mõningat testimist ja parandamist.