Talk:Ott: Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
==Retsensioon Veebiteenuse kohta meeskonnalt Mjart== | ==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). | 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, | 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== | ==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. | 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. |
Latest revision as of 16:55, 16 June 2017
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.