Talk:Sense Of Direction

From ICO wiki
Revision as of 15:55, 8 June 2017 by Sosa (talk | contribs) (Retsensioon meeskond "Sulased" poolt 08.06.2017: new section)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Retsensioon Redundant Rappers poolt 19.03.2017

XML fail valideerub. XML failil on kasutatud vähemalt 4 loogilist dimensiooni, täpselt nagu oli nõutud. XMLis kasutatud kirjutamise stiil on läbiv - läbiv Camel Case. Elemendi <\mark> ja <varustus> andmed võiksid olla samuti CDATA sees. Testandmeid on küll kasutatud, kuid meie nägemist mööda võiksid need olla rohkem varieeruvad - esmapilgul tundusid kõik andmed copy-paste´ga tehtud. XML on hästi struktureeritud - seda on hea lugeda. Tundub, et element <suund> on dubleeriv, seda saab kokku panna <lahteKoht> ja <sihtKoht> elemenditest. Atribuut "bussiLiik" elemendis <buss> jääb arusaamatuks, mida tähendab seal see "tavaline". Elemendis "valjumisPaev" ei tundu olevat põhjendatud atribuut "soidab", ehk võiks lihtsalt ära jätta true ja false väärtused. Tundub, et seda "soidab" atribuudi väärtust true või false on tahetud kasutada lihtsalt transformeerimise ajal kontrolliks. Kui on false ära jätta, siis ole vaja kontrolli teha, et kas sõidab. Samas kui tahta kontrollida, mis päevadel buss ei sõida, siis oleks seda atribuuti tõepoolest vast vaja.

XSD on meie meeskonna arvates hästi tehtud ning valideerub. Skeemifail ja XML fail vastavad valideerides teineteisele.

XSLT HTML on arusaadav, sest struktuur on hästi läbi mõeldud. Transformatsioon teskti failiks jääb arusaamatuks, miks valiti just see, milleks võib kunagi tekstifaili vaja minna.

Retsensioon meeskond "Sulased" poolt 08.06.2017

Retsensioon tiimile Sense of Direction

XML faili üldine ülesehitus on üsna hea, XMLil on 4 astet, nagu nõutud ning on kasutatud ka atribuutide nimetamist. XML fail on üsna suur ja kasutatud on ka erinevaid andmeid ühtede parameetrite jaoks (näiteks nagu mitu peatust, erinevad väljumispäevad). Vähekene tekitab segadust osa, kus on marsruut ja on eraldi välja toodud sõidu algusaeg ja lõppaeg ning samas parameeter tund ja minutit selle kohta ka, ilmselt oleks tuleviku vaates otstarbekam ühest kas teine tuletada või lihtsalt üks neist kuvada. Kasutatud oli CDATAt, kuid kasutus oleks võinud olla rohkem sihipärane. Kui on mingid kohad, kus CDATA nagunii midagi ei päästa (näiteks linna nimed – Tallinn, Narva, kus ei ole vaja CDATAt) ning samas oleks võinud seda kasutada kohtades nagu varustus, kus võib sees olla mingeid asju, mis võib XMLi katki ajada. Varustus ise oleks võinud olla ka trepitud alam-elementideks nagu <lisavarustused> mille sees on mitu <lisavarustus> elementi, XMLis ei ole hea ega jätkusuutlik komadega asju eraldada. Kui kunagi peaks XMLi kasutama näiteks mingi leht, kus on välja toodud lisavarustuse valik ning saaks ära linnutada või teha valikuliseks, millise lisavarustusega bussi otsid (kui on oluline näiteks interneti kättesaadavus), siis seda komadega eraldatud sõnest on palju raskem kätte saada. Kohe paistab silma ka, et on kasutatud kahel esimesel real sõna liik, bussiliin atribuudiga liik ja buss atribuudiga liik, võiks kasutada täpsemaid või erinevamaid sõnasid, et vähem segadust oleks (eriti kui seda kuskil välja otsida on koodis 2 erinevat liik parameetrit ning võib tekkida segadus, kumba see tähendab). XSD fail on üsna hästi tehtud, on välja toodud hästi, mis peab olema ja mis on valikuline, kasutatud on õigesti muutujatüüpe (byte vs integer). Osadel asjadel võiksid olla minOccurance ja maxOccurance määratud, et ei oleks võimalust mälu täis tõmmata ning ka äriloogilises mõttes võiks olla (peatuseid ei tohiks olla näiteks vähem kui 2). Üldiselt väljumispäevad oleks võinud ka loogilisemalt panna need, mis päeval väljuvad (nt E, T, K, N ja R) ning sealt lugeda välja, mis päevadel buss sõidab (ehk on true selle XML mõistes) ja ülejäänud päevad on false.

XSLT on raske hinnata peale vaadates, aga tundub suuremalt jaolt hea. Mõnes kohas on vähekene imelikult kasutatud colspan (näiteks peatustel colspan=2 kui peatuseid võib olla päris mitmeid). Samamoodi ka eelpoolmainitud väljumispäevad:

               <xsl:for-each select="valjumisPaevad/valjumisPaev">
                 <xsl:if test="@soidab = 'true'">
                   <xsl:value-of select="." />
                   <xsl:text> </xsl:text>
                 </xsl:if>
               </xsl:for-each>

Selle asmel ei oleks seda if lauset vaja olnud , vaid lihtsalt need päevad, mil sõidab kirja panna ja välja tuua. Tasemelt oli XML korralikult tehtud ja vastab üldjuhul reeglitele, veidi rohkem vaeva oleks võinud näha nimetamistega ja äriloogikaga.