Meeskonna IncMan prototüübi retsensioon

From ICO wiki
Revision as of 18:59, 9 January 2016 by Paarne (talk | contribs) (→‎IncMan prototüübi retsensioon)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Meeskonna IncMan prototüübi retsensioon meeskonna Bob? poolt

Üldiselt on rakenduse prototüüp korralikult tehtud ja kood on ilusti kihtidesse jaotatud. Siiski tooks välja mõned puudujäägid koodis.


Esimene asi, mis silma jäi, oli BO-des olev ilma parameetriteta konstruktor, mis andis property'tele vaikimisi väärtused. Minu arust seda vaja ei ole, kuna uut BO-d tehes saab ta alati väärtused andmebaasi objektist. Neid konstruktoreid nagunii ei kasutatud.


Veel jäi silma selline rida klassist LogiService:

if(id==1) //id: 1 - muutmine, 2 -lisamine

Muutuja id asemel võiks teha enumi, millel on kaks väärtust, näiteks MUUDA ja LISA. Sellega oleks teisel programmeerijal palju lihtsam aru saada, millega tegemist on. Sellisel juhul muutuks see rida näiteks järgmiseks:

if(tegevus == tegevus.MUUDA)

Nüüd on arusaadav, mis toimub ja pole vaja kommentaare igale poole juurde lisada, et näidata, mida see teeb.


Klassis IntsidentService on arvatavasti copy-pastega kaasa tulnud IntsidentBO property'd. Need võiks ära kustutada.


Projekt võiks ka rohkem importe kasutada, mitte pikalt välja kirjutada, kust iga meetod pärit on. See parandab loetavust ja teeb koodi lihtsamalt hallatavamaks. Näiteks selline rida klassis KasutajaService:

Incman.BLL.Services.LogiService.lisaLogi()

muutuks selliseks:

LogiService.lisaLogi()

Kui klassi importida Incman.BLL.Services.LogiService.


Rakendus on suures osas kirjutatud eesti keeles, kuid osades kohtas on kasutatud ka inglise keelt. Kõik võiks olla samas keeles kirjtuatud, siis on kogu kood ühtne. Näiteks klassi SisseLogimineService meetodi muudaParool() sisendparameetrid:

public static void muudaParool(int kasutajaId, string password)

võiks olla:

public static void muudaParool(int kasutajaId, string parool)


Klassides IntsidentModel ja KontaktModel on kasutuses üleliigsed muutujad. Nendel mudelitel on juba olemas property'd getterite ja setteritega.