Talk:Laenutajad

From ICO wiki
Revision as of 13:03, 15 June 2013 by Mpahk (talk | contribs)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Retsensioon meeskonnale Laenutajad


Meeskond Laenutajad on seadnud eesmärgiks luua kodune filmide laenutus, mida on võimalik täiendada nii filmide lisamise kui eemaldamise teel.
Õppejõu poolt seatud nõuded XML-failile on üldiselt täidetud. Dimensioone on rohkem kui 4, atribuute (mis oleks rohkem kui „lihtsalt id“) on kasutatud kahel erineval dimensioonil:
<movie> ja <subtitle> ning <prices>. Neist kaks viimast on minu arusaamist mööda sama taseme dimensioonid. Sellegi poolest loeksin nõuded täidetuks, sest vastavalt veebilehe http://www.w3schools.com soovitustele oleks atribuute mõistlik kasutada pigem metaandmete esitamiseks.
Käesolevas projektis näeb atribuutide kasutamine siiski väga loomulik välja, mitmete teiste projektidega põgusalt tutvudes näis atribuutide lisamine erinevatele dimensioonidele välja mõnevõrra kunstlik (ka minu enda projektis) ja isegi ebaloogiline.
XML-i struktuur on loogiline ja konkreetne. Koduse väikese filmilaenutuse jaoks üsna piisavalt andmeid iga filmi kohta. Kui reaalselt filmide välja andmiseks läheb, peaks lisama andmed laenutaja kohta ning kuupäevad.
Stiilifail jätkab XML-i loogilist ülesehitust ja andmete kuvamise tulemust on lihtne lugeda.
Stiilifailide osas panin tähele, et vikilehe põhjal on pisut arusaamatu, kas õppejõud soovib mitut või piisab ühest. Reeglid ja Tähtajad kirjelduses on juttu pigem ühest stiilifailist, pealkirja Hindamine all on kirjas „paar kolm sobivat XSL faili“. Juhul kui viimane tingimus on tõene, ei ole meeskond Laenutajad kahjuks kogumahus ülesannet täitnud.
Üllatuslikult on Laenutajad skeemifaili tegemisel kasutanud mitte lihtsustatud varianti lasta Visual Studiol enese eest kõik ära teha, vaid koostatud on DTD skeemifail, mida abivahenditega teha teatavasti ei saa. Kuna tegemist ei ole väga suure ega keerulise andmetehulgaga, siis on see täiesti piisav skeemifail, lühem ning seega paremini loetav kui potentsiaalne xsd-fail.
Kui kritiseerima peab, siis kommentaare ja dokumentatsiooni justkui ei ole. Iseenesest on kõik nii arusaadav, et nagu ei vajakski. Kuna ma ka ise ühtegi kommentaari ei kirjutanud, siis pigem jätan pinnu teise silmas käesolevaga mainimata.
Kokkuvõttes on väga hea töö – ülesehitus on lihtne, loogiline, andmete osas ei ole mingit „lahmimist“ sadade ridadega ja kuvamine on täpselt sama ilus kui xml-fail ise. Like.

Lugupidamisega, Meeskond Un

Retsensioon meeskonnale Laenutajad rakendusele


Projekt on mõnusalt jaotatud ära appiks ja service libraryks. Kaustadesse jaotised on loogilised ja hästi loetavad. Küll aga oleks siis võinud methods kaust ka suure algustähega olla, aga see on pisikene stiili asi. Kuigi methods on selline kahtlase nimega kaust, esialgu jääks segaseks mis seal see võib olla ja miks selline nimetus. Samahästi võiks teha kausta nimega "Classes" näiteks, ei tunduks loogiline ja on liiga üldistav. Methods all tundub siiski olevat mingi data access layer. Samuti on pandud seal samas ühe .cs klassi sisse mitu klassi (nt class AdminMethods mille sees on veel public static class LogggingMethods), mida mina isiklikult ei pea heaks tavaks, aga see (ilmselt) on ainult minu arvamus. Muidu tundub see data access layer ilusti linq võimalusi ära kasutades ära lahendatud. Regioneid on ilusti hästi kasutatud, kood on loetav ja hästi jaotatud. Oleks eriti ilus, kui välja kommenteeritud koodi lõpptootes poleks, aga loomulikult, see on work in progress ja ma isiklikult pole näinud veel toodangu koodi, kus poleks mõnda lõiku välja kommenteeritud. See ei sega :) Kasutatud on code first lähenemist, mis ilmselt ongi microsofti maailmas eelistatud lähenemine, paraku ei ühti minu eelistustega. Kõige suurem kahju oli sellest, et projekt ei läinud mul käima. Võib-olla jäi see mu enda oskamatuse taha, aga veateade on järgmine: System.BadImageFormatException: Could not load file or assembly 'file:///C:\Users\Taivo\Downloads\VR2 projekt\MovieRentServiceLibrary\MovieRentServiceLibrary\bin\x86\Debug\MovieRentServiceLibrary.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Klientrakenduse poolel on ka teemad ilusti kaustadesse ära paigutatud. Lehed tunduvad ilusad, hästi kujundatud. Koodist nii palju, et ma olen arusaanud, et undersocre (_) prefixiga tähistatakse private muutujaid klassis. Siin rakenduses kasutatakse neid kuidagi meetodites. Üldiselt _description == "" pole hea kasutada, kuna ma võin ju tühiku või muu whitespace sisestada ja see läheks sellest validatsioonist edukalt läbi.

Oleks olnud ka ilus kasutada model view viewmodel arhitektuuri rakenduses. Aga kood xamli taga oli loetav ja loogiline, probleeme polnud.

Kuna rakendus eelmainitud errori pärast tööle ei läinud, jääbki see retsensioon oodatust lühemaks paraku.

Meeskond SaanEndagaHästiLäbi

Laenutajad teenuse retsensioon


Antud teenus ei kasuta DAL lähenemist (Model -> EF -> Repo -> Uow) vaid on otse ehitatud andmebaasi peale. Antud lähenemisest on veidikene kahju kuna vastasel korral oleks saanud kasutada DAL kihti, et käia ka teiste baaside pihta andmeid kogumas ning tänu sellele oleks tulevikus saanud antud projekti edasi arendada. Samuti on praegusel hetkel kohati kole vaadata koodiridasid kuna igas meetodis mis käib AB pihta on päris mitu rida koodi AB päringu jaoks ning seejärel tuleb alles vajalik loogika. DAL kihiga oleks antud lähenemine tükk maad ilusam olnud (eriti kui oleks kasutadud Uow'd) ja ainukene mure oleks olnud kirjutada vajalik LINQ (ei pea olema ilmtingimata LINQ, aga võib olla). Samuti närib see, et on kasutatud ühte staatilist klassi sisselogimiseks (LogggingMethods). Antud meetod tekitab kasutajale uue sessiooni, aga samas pole nii tähtis meetod millegi tõttu pandud eraldi klassi vaid teise klassi sisse (asub AdminMethods klassis). Kui veel edasi nokkida, siis jääb ka arusaamatuks miks pole mudeleid eraldi kaustas (pisiasi, aga ikkagi võiks ju olla). Sama kehtib contract'side (interface) ja osade meetodite kohta. Interface'idest rääkides, siis on näha neid ainult üks - miks pole teistel? Antud kohapealt oleks võinud antud meeskonna koodisilujad aidata (keda oli 2-3), sest antud arendajal läks ilmselgelt mahukaks ära. Samuti oleks võinud antud koodisilujad tegeleda kommenteerimisega (vana hea /// meetodi kohal ning antud lahtrite täitmise oleks andnud päris hea tulemuse).

Positiivne on see, et asi töötab ning on reaalselt kasutatav (nende tehtud demo oli ka edukas ning arendaja jutt oli loogiline). Samuti oli mudeleid küll ja veel millega mängida ning mille siduvustega tuleb arvestada. Kommentaarid olid piisavad (taaskord - koodisilujate töö), et aimu saada mida kuskil tehakse.

Ulgurmutid