Talk:Meeskond:R0ds

From ICO wiki

Retsensioon meeskonnale R0ds meeskonnalt KRTT

XML

XML faili näol edastatakse andmeid autode kohta. Juurelement on autod. Selle sees on omakorda üksikuna välja toodud autod, millele ei ole pandud lihtsalt ID-d, vaid vin kood, mis on igal autol tõepoolest ainulaadne. Auto on omakorda jaotatud kihtideks väga hästi ja loogiliselt, midagi kriitilist öelda ei ole. Antud xml failis on vähemalt 4 loogilist dimensiooni ning 4-el dimensioonil on ka atribuudid, alati võiks ju asju veelgi rohkem olla, kuid see kõik on selle ülesande raames täiesti piisav.

XSD

Skeemifail on täiesti veatu ja korrapärane.


XSLT

Autod.xml failist genereeritakse meile list autode kaupa. Iga auto all on omakorda selle kõik omadused ja väärtused listina. List on tehtud ilusti erinevate kirjasuurustega, mille tõttu on silmal asja kerge lugeda. Samuti on kasutatud kõiki .xslt faili võimalusi, mis sai praktikumis läbi käidud. Autod2.xml antakse meile üksteise otsa ette autode margid, mudelid, tootmisaastad, liigid ja läbisöit. Võrreldes esimese transformatsiooniga on tuntavaid erinevusi ning selles suhtes on tööülesanded täidetud.

Kokkuvõtvalt võib öelda, et meeskond on oma töö ära teinud õigeaegselt ning antud tööülesanded on täidetud piisavas mahus ning korrektselt. Edu ja jaksu edaspidiseks.

Retsensioon meeskonna Rods veebiteenusele meeskonnalt Valar Morghulis

Valisin retsenseerimiseks (teiste seas) ka selle projekti kuna projekt ise tundub huvitav.

Koodi staatiline analüüs

Solutioni nimi „KodutööKontakt.sln“ sisaldab täpitähti. See on halb kuna ei pruugi igal pool toimida.

ContactLibrary

Andmemudel näib mõistlik. Igal juhul on olemite arvu nõue rahuldatud (tekib 8 tabelit). Norida tuleb selle kallal, et täielikult puuduvad annotatsioonid ning tekkivates tabelites pole stringide pikkused seega piiratud. Mingil määral on atribuutide funktsioone ka lahti seletatud. Rollide nimekiri on lahendatud enumit kasutades.

DAL

Custom meetoditest leidub failis „PersonRepository.cs“ kaks tükki kuid tegu on automaatselt genereeritud karkassiga. „ContactContext.cs“ on mõeldud testija mugavusele ning selgitatud kuidas käib testsisu genereerimine.

BLL

Äriloogikakihis on kaks DTOd ja ObjectFactory mis on praktikumidest üle võetud ning mida kusagil ei kasutata.

TestApp

Testandmete genereerimiseks on loodud testprojekt. Seal on kasutusel ka dependency injection Ninjecti kujul.

WebApiApp

Käsitlen hiljem.

Projekti käivitamine

Testprojekti käivitamisel tekkis mitmeid probleeme

Näiteks veateade https://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx

mille lahendas järgneva koodi

<configuration>
   <runtime>
      <loadFromRemoteSources enabled="true"/>
   </runtime>
</configuration>

lisamine konfiguratsioonifaili

Veidi defektne oli aga testandmeid genereeriv kood. Nimelt viidati 128 real isikule id-ga 2 keda polnud eelnevalt tekitatud. Loomulikult rikkus see välisvõtme nõuet. Kui kommenteerida failist „Program.cs“ välja read 126-130 ja 132 läks kood edukalt tööle ning andmebaas tekkis koos testsisuga.

WebApiApp

Sisaldab ühte kontrollerit (PeopleController) kus on kasutusel repositooriumid aga mitte dependency injection. Fail „NinjectWebCommon.cs“ eksisteerib, kuid on konfimata. Brauseri kaudu on võimalik andmetele ligi pääseda ning Fiddleriga neid ka muuta.

// protocol POST 
http://localhost:50686/api/People

// message header:
User-Agent: Fiddler
Host: localhost:50686
Content-Type: application/json
Content-Length: 58

// message body:
{
"FirstName" : "Peeter",
"LastName": "Termomeeter",
"RollID" : 1
}

Peeter Termomeeter tekkis ning teda sai ka kustutada.

Kokkuvõte

Projekti kirjeldus wikis on uuendamata. Näiteks on seal mainitud WCF tehnoloogia kasutamist (tegelikult on kasutusel Web Api). Ühtlasi pole (vähemalt allalaaditavas projektis) klienti, nii et kliendi retsensioon jääb selle projekti kohta tegemata. Loodetavasti töötab meeskond projekti kallal edasi. On arusaadav, et projekti valmimist segas hiljuti toimunud Siili-nimeline suurõppus.