Talk:Meeskond "HM"

From ICO wiki
Revision as of 22:25, 24 May 2012 by Anroots (talk | contribs)
Jump to navigationJump to search

Loodud on lennujaamade XML fail, mis on tehtud kombineerides olemasolevaid vabavaralisi lennujaamade andmebaase. Idee tundub olevat kasulik ning huvitav. Kasutusel on kuus loogilist dimensiooni, mis on enam kui ülesande püstituses on nõutud. Atribuute on kasutatud parajalt, kuid kontinent tag pole oluline ega vajalik, kuna lennujaamade joaks on tähtis riik. Kui lennukiga lennata siis pole oluline, kas inimene vahetab kontinenti. Oluline on mis linnast mis linna lennata. Samas kontinent võiks olla ka, et lihtsamini riike eraldada. Rahvaarv igal kontinendil pole ka oluline, kui arvestada, et tegu on lennujaamade andmebaasiga. Riik tag’is olevad raha ja rahanimi on suhteliselt ebaolulised arvestades, et tegu on jällegi lennujaamade andmebaasiga. Pigem võiks riigi ID kõrval olla atribuudina riigi nimi. Linnadel on ID’ks linna nimi ning eraldi välja toodud ka nimi tag’ina. Kaks korda sama asja pole vaja välja tuua. Lennujaamade ID välja toomine on hea, sest seda ID’d kasutatakse rahvusvaheliselt lennujaamade- ja turismiinfosüsteemides. Samuti on väga hea, et välja on toodud GPS koordinaadid. Nii on võimalik andmebaasist otse võtta lennujaamade asukoht. Kood on ühtlaselt ja loogiliselt kirjutatud, pole erinevaid suuri ja väikeseid tähti, vaid on kasutatud ühtset stiili. Välja arvatud root elemendi puhul, kus element <Maa> algab suure tähega. Kahjuks pole koodi aga kommenteeritud, mis teeb selle lugemise natukene raskemaks.

Retsenseerijateks oli Meeskond ".NOT"

Veebiteenuse Retsensioon

Valminud teenus omab kasutajate poolset sisselogimist, mida on näha teenuse käivitamisel, kui küsitakse kasutajanime ja parooli, mille otsimiseks õnneks eriti kaua ei läinud, sest andmebaasi uurides selgus, et koos andmebaasi loomise skriptiga oli 'by default' tehtud ka kasutaja 'Administraator', mille sain kätte ühe lihtsa SELECT päringuga. Põhjalikumal andmebaasiga tutvumisel selgus, et pole tehtud lennujaamasid ja kontinente, mis võib-olla oleks võinud koos andmebaasi loomise skriptiga kaasa tulla, kuid Administraatori rollis olev kasutaja saab neid ise lisada.

Algul tundus, et lennujaama sain ilusti lisatud kasutades Administraatori paneelis Lisa lennujaam funktsionaalsust. Kontrollides üle SELECT päringuga ei olnud seda lennujaama andmebaasis. Ning kaldun arvama, et ainuüksi lennujaama nimest, lühendist ja koordinaatidest jääb väheks, kuna lennujaamu saab otsida kontinentide, riikide ja linnade järgi. Või on see rakendus piisavalt arukas, et paigutab koordinaatide järgi automaatselt lennujaama vastavasse riiki ning linna?

Peale kontinentide lisamist andmebaasi tundus, et lennujaamade otsimine hakkas justkui tööle, kuid kuna riike ning linnasid pole veel lisatud andmebaasi, siis tulemuste tabelisse tuli imelik "lennujaam": ID on 1, Nimi on "puudub", Latitude ning Longitude on 0 ning lühend on tühi.

Peale mõnede kontinentide, riikide, linnade ning lennujaamade lisamist andmebaasi tundus, et otsing hakkab tööle, kuid riigid ning linnad on kuidagimoodi valesti seotud kontinentidega. Enda arust sisestasin kõik õigesti SQL päringutega (kontrollisin üle mitu korda), kuid enda sisestatud Eesti sai seotud kuidagi Aafrika kontinendiga, kusjuures linnadest ainult Tallinn (lisasin ka Tartu, seda pole üldse näha). Ehk tundub et iga riigiga on seotud üks linn (õigesti), kuid kontinentidega on valesti läinud. Ning ka siis ei tööta otsing õigesti/üldse, annab tulemuseks ikka lennujaama mille ID on 1, nimi puudub jne.

Longitude ja Latitude valideerimine töötab osaliselt. Tähti ega stringe küll ei saa kirjutada textbox'i, kuid tuleks võtta Latitude maksimaalseks väärtuseks 90 ning minimaalseks -90 (nagu on kaartide peal, s.h. Google Maps); Longitude maksimaalseks väärtuseks on sel juhul 180 ning minimaalseks -180. Kui sisestada käsitsi arv, mis on suurem kui 700, siis jääb väärtuseks sinna 700, kui sisestada arv, mis on väiksem kui 700 ning suurem kui 0, siis jääb vastuseks see arv koos komakohtadega. Komakohtade ümardamisega ei tundu olevat probleeme: kui kirjutada arv väiksema täpsusega kui 10 kohta peale koma, siis lisatakse nullid otsa arvule ning kui on täpsus suurem kui 10 koma-kohta, siis ümardab õigesti arvu selle täpsuseks. Kui sisestada arv, mis on negatiivne (ehk näiteks -4), siis muutub see väärtus 0-ks.

Koodi on natukene liiga vähe kommenteeritud ja sellest tulenevalt läheb mõni kord natukene kaua, et hakata aru saama koodist. LINQ päringutel soovitaksin soojalt kasutada First() meetodi asemel FirstOrDefault() meetodit, kuna kui päringust tagastatakse null, siis võib programm kokku joosta kui kasutatakse First() meetodit. Seda on õppejõud maininud mitmetel kordadel.

Andmebaasi kohta mainiks ära nii palju, et kõikidel tabelitel võiks olla uuendamise ja loomise kuupäevade atribuudid, sest siis saaks parema ülevaate sellest, mis on andmebaasis toimunud (ehk millal kanti andmed sisse, millal andmeid uuendati, millal eemaldati jms).

Kasutajate haldamine on natukene poolik. Oleks tore kui saaks kasutajate andmeid ka muuta (parool, isAdmin jms). Samuti ei saa kasutajaid luua teenuse kaudu. Aktsepteeritavam oleks, kui seda saab teha kasutaja ise sisse logimise aknas, sest hetkel toetub asi puhtalt andmebaasile ligi pääsevale inimesele. Teenuse kasutajate ja kasutusstatistika üle ei saa arvet pidada, see on üks nõuetest veebiteenusele. Failid ise on kõik kenasti puhtad, et neis ei ole välja kommenteeritud vana ja/või mitte töötavat koodi ning trepitud on koodi kenasti.

Töötavad asjad: Kasutajate nimekiri, lennujaamade laiuskraadide validatsioon, kuvab riigid/linnad/kontinendid dropdown menüüs kui need on lisatud andmebaasi Mitte töötavad asjad: lennujaamade otsing (nii kontinendi/riikide/linnade järgi kui ka laiuskraadide vahemikus), lennujaama lisamine formi kaudu, kasutajate kustutamine, lennujaamade kustutamine.

Retsenseeris Meeskond ".NOT" liikmed

Klientrakenduse retsensioon

' by Meeskond "Harold"