Talk:Iread

From ICO wiki
Revision as of 19:56, 15 June 2015 by Ksiiner (talk | contribs) (Retsensioon meeskonna Iread veebiteenusele ja klientrakendusele meeskonnalt R0ds)

Retsensioon meeskonna Iread veebiteenusele ja klientrakendusele meeskonnalt R0ds

Valisime retsenseerimiseks selle projekti teil ei ole ühtegi retsensiooni.

Veebiteenuse retsensioon

Koheselt on näha, et veebiteenuse solutionis on kasutusel 6 projekti. Projektis BLL on hakkavad silma vajalikud failid selle kihi jaoks. Ja positiivse poole pealt on DTO's näha kuidas on ilusti kirjutatud kõik MaxLength, Reqiured ning ka teised atribuudid. Oli ka näha mõningal määrab koodi kommenteerimist, kuigi seda oleks võinud olla igas failis. Service failid oleks võinud olla eraldi Service kaustas, et oleks silmale parem jälgida, aga see otseselt ei häiri. Tore oli näha, et ka Service failidele olid tehtud Interface failid. Me küll täpselt ei tea kas Servicitele eraldi oli vaja teha neid aga vähemalt on pingutatud.

Projektis BookLibrary on näha kõik EF jaoks vajaminevad failid. Failides on kirjas kõik vajalikud propertid ning kõik on kommenteeritud väga eeskujulikult. Olemas on 7 olemit, järelikult on täidetud piirang milleks oli vähemalt 6 olemit veebiteenuses. Ka nendes failides on olemas nii MaxLength kui ka Required atribuudid, samuti on mõndades failides kasutusel Range atribuut.

DAL'is on näha õppejõu poolt nõutud Interface, Repository, Factory ja UOW kihid. Näha saab ka Andres Käveri poolt tehtud asju ning mida ta soojalt soovitas kasutada meie projektides. Samuti ei tundu, et oleks tehtud üleliigseid reposid. Interface failides on näha milliseid andmeid tahetakse edasi saata.

Projekt on External API Client on meie jaoks natukene segane. Tundub, et see kiht on vajalik selleks, et raamatute ja autorite andmeid saaks võtta ka välistest andmekogudest(mitte ise sisestatud andmed).

Projekt Identity on puhtalt üle võetud Andres Käveri tehtud näitest.

Viimases projektis nimega minuraamat on olemas kõik vajalik et solution töötaks internetis korralikult. Disin ei ole põhiline selle kodutöö raames ning seega on jäetud see võimalikult minimalistlikuks. Sisselogimine on tehtud väga turvaliseks, selle all mõtlen parooli piiranguid(peavad olema suured tähed, väiksed tähed ja numbrid). Oleks tore kui parooli piirangud oleks kohe registreerimise juures kirjas ja ei pea proovima kas sobib. Aga hea, et kasutajanimi ja emaili aadress ära ei kao kui parool ei vasta nõuetele. On olemas ka kontrollerid, kus on realiseeritud vajalikud meetodid ja samuti on väga palju kommenteerimisi.


Klientrakenduse retsensioon

Klientrakendust tööle pannes tekib kohe probleeme. Kui täidan kõik väljad ära tuleb error, millega öeldakse "One of the fields is probably not valid.". See ei ole just kõige parem veateade, mida kasutajale edasi anda. Proovisin teha kasutajat mitmete andmetega kuid alati on sama veateade. Kuigi probleemi lahendiks oli see, et tuleb panna enne API tööle ja seejärel klient. Seega oleks võinud selle algse veateate asemel anda midagi mis annab teada, et API ei tööta.

Klientrakenduses saab vaadata enda niiöelda lemmikute listi lisatud raamatuid ja neid seal kõikvõimalikul moel järjestada, on ka võimalus raamatuid sealt eemaldada. Olemas on ka funktsioon, millega saab andmebaasist raamatuid juurde otsida ja neid lisada lemmikute listi. Otsing töötab väga hästi. Häirib see, et rakenduses ei saa akna suurust muuta vaid peab kerima vasakule/paremale.

Failide poole pealt on näha, et oli kasu eelmise aasta C# ainest, kus õpetati kirjutama korralikku koodi mitte spagetti(on olemas ViewModel ja Model kaustad). Kui API solutionis olite väga agarad oma koodi kommenteerima, siis tundub, et klientrakenduses sellele enam nii suurt tähelepanu ei ole pööratud.


Retsensioonid meeskonna IRead veebiteenusele ja klientrakendusele meeskonna KTT poolt

Veebiteenuse retsensioon

Solution avatud ning vastu vaatab 6 projekti. Lähemalt uurides selgub, et kasutusel on kõik, mida õppeaine raames on nõutud ning need kõik on jaotatud eraldi projektidesse : Identity, BLL, Library, DAL, Veebiteenus ning External API Client, mille otstarve jääb antud hetkel segaseks.

Alustades algusest, BookLibrary-st, siis kokku saab lugeda 7 olemit, mis on antud aine raames täiesti piisav ning lisaks nendele ka Identity-ga kaasnevad tabelid. Vaadates igat klassi lähemalt, siis selgub, et kõiksugu maxlengthid, required ja muud vajalikud atribuudid on peale märgitud. Lisaks sellele on veel lahti kirjutatud kommentaaride näol foreign key-d ja suhted teiste tabelitega.

DALis on olemas kõik õppejõu poolt nõutud : Interfaced, repod, helperid, UOW-d ja Identity-ga kaasnevad klassid. Lähemalt uurides on näha, et interfacedes on nii mõnigi custom meetod, millest vöib järeldada, et tööd on tehtud küll. Struktur DALis on perfektne ning midagi negatiivset ei oska/ole välja tuua.

BLLi avades vaatavad vastu DTO ja interface kaustad ning kõik vajalikud service klassid. DTO-si lähemalt vaadates on näha, et on pandud peale kõiksugu maxlengthid, required ja igasugu errormessaged, mida vajaduse korral kasutajale kuvada. Lisaks sellele on kood ilusti kommenteeritud ning arusaadamatuks ei jää miski. Interfacedes on olemas kõik vajalik. On kasutatud ka loggerit, mis paljudel meeskondadel puudus, siinkohal plusspunktid. Kuna DTO-d ja interfaced olid ilusti pandud eraldi kaustadesse, siis oleks vöinud seda teha ka servicite puhul, kuid kuna neid klasse ei ole väga palju, siis saab hakkama küll. Projekti kasvades peaks kindlasti kasutusele vötma eraldi kausta.

Identity projekti kohta ei ole kommenteerida midagi, sest see on üle võetud õppejõult Andres Käverilt, kelle töö oli meile kõigile suureks abiks.

External API Clientile ja selle mõttele ei saa me koheselt pihta, kuid kindlasti on see vajalik mingi eesmärgi täitmiseks.

Minuraamat projekt on meie arvates väga hästi ja põhjalikult struktureeritud. Kõik töötab esmakordsel käivitamisel ja testimisel. Kood on silmasõbralikult struktureeritud ning korralikult kommenteeritud. Nõutav turvaline parool on alati hea tava ning kasutajasõbralik on ka see, et sisestatud andmed ei kao ära, kui registreerimisel tekib mingi tõrge.


Kokkuvõtvalt ütleks, et aine raames edastatud teadmised on omandatud ning neid kõiki on antud veebiteenuse juures rakendatud. Tehtud on kõvasti tööd ning nokkida ei oska mitte millegi kallal.


Klientrakenduse retsensioon

Avades klientrakenduse solutioni vaatab sealt vastu vana hea ja tuttav WPF. Õnneks on projekti meeskonnal meeles ainest C# õpetatud MVVM struktureeritus ning seetõttu on väga tuttav ja lihtne erinevate klasside, vaadete ja teenuste vahel seilata. Aine Võrgurakendused 2 raames õpetatud teenuste mõistlik ja jätkusuutlik käsitlemine on täiesti olemas. Kuigi rakenduse välimust antud aine raames ei hinnata, siis see on küll kõik täiesti default, kuid sellegipoolest väga ilus ja kasutajasõbralik. Antud retsensioon peaks olema küll kõvasti pikem, kuid meie arust ei ole siia midagi kirjutada, sest kõik on nõuetekohane ja on selgelt näha, et häid tavasi on jälgitud. Tööd on tehtud vastavalt projekti vajadustele ning kõik töötab ja on meie arust täiesti piisav. Ainukese miinusena võib välja tuua selle, et klientrakenduses ei ole ühtegi kommentaari, kuid see-eest on kõik hästi struktureeritud ning ei olegi midagi keerulist, mida peaks kindlasti kommenteerima.