Giter Site home page Giter Site logo

ot-harjoitustyo's Introduction

Ohjelmointitekniikka, harjoitustyö

University of Helsinki department of Computer Science exercise on the course Ohjelmointitekniikka.

vaatimusmaarittely.md

tuntikirjanpito.md

arkkitehtuurikuvaus.md

Teoskanta

Sovelluksen avulla käyttäjä voi hallinnoida ja listata haluamiaan teoksia oli se sitten elokuvia, musiikkia tai kirjoja. Sovellusta voi käyttää eri käyttäjät, joilla jokaisella on omat teoksensa.

Suoritus

Ohjelma suoritetaan komennoilla

cd Teoskanta
mvn compile exec:java -Dexec.mainClass=teoskanta.Main

Testaus

Testit suoritetaan komennolla

mvn test

Testikattavuusraportti luodaan komennolla

mvn jacoco:report

Kattavuusraporttia tarkastellaan selaimella avaamalla tiedosto target/site/jacoco/index.html

ot-harjoitustyo's People

Contributors

nuis4nce avatar

Watchers

 avatar

ot-harjoitustyo's Issues

Koodikatselmointi

Katselmoitu projekti kloonattu 22.4.2020 klo 20.16

Todella hyvännäköinen applikaatio! Sain erityisesti tuosta käyttämästäsi UI jaottelusta ajatusta omaan UI:hini, jota ajattelin ajan salliessa jakaa vielä enemmän omiin luokkiinsa.

Yleiset huomiot

  • Projektilla ei ole arkkitehtuurikuvausta ja dokumenttia ollenkaan. Tuo helpottaisi eri luokkien toiminnan ja tiedonsiirron ymmärtämistä.

Koodiin liittyvät huomiot

  • En aluksi pystynyt suorittamaan kyseistä ohjelmaa, mutta sain ohjelman ajettua, kun muutin Mavenin käyttämään Java 1.8

image

Vaihtui -->

image

  • ui.teoskantaUi:ssa on todella paljon käyttämättömiä importteja. En ole ihan satavarma, mutta luulisin näiden hidastavan ohjelman suoritusta vähäsen. Nuo voisi poistaa. Myöskään samassa luokassa olevaa newUserScene muuttujaa ei käytetä mihinkään.

image

  • Kuvauksessa mainitset, että käyttäjätunnuksen tulee olla vähintään 3 merkkiä. Tuota tarkistusta ei olla toteutettu koodiin. Tuo on todella helppo toteuttaa vaihtamalla CreateUserViewUI:n vertailu username.length() == 2 muotoon username.length() < 3. Rivi 66.

  • Yksi mitä voisi miettiä olisi yhdistää userDao ja titleDao interface, koska ne näyttävät käyttävän ihan samoja CRUD toimintoja

image

  • MainViewUi luokassa olevat kommentoidut koodit voi varmaan poistaa. Ainakin nopealla silmäilyllä vaikutti siltä, että olet sisällyttänyt samat toiminnot jo muihin luokkiin.

  • Tykkään todella tuosta miten olet jakanut eri UI näkymät ja luokat omiksi luokikseen. Pitänee myös itse tehdä samantyylinen ratkaisu.

  • En ihan ymmärrä mikä on luokan TitleListService rooli tässä applikaatiossa. Listaako se ainoastaan tietokannasta löytyvät kirjat? Olisiko sen silloin voinut yhdistää TitleService luokkaan?

  • Voit myös miettiä haluatko lisätä ehdon, että yksi henkilö voi lisätä yhden Title vain kerran. Tuon saa tehtyä tietokantaan helposti alla olevalla UNIQUE käskyllä, mutta tuon aiheuttama virhe pitäisi käsitellä jossain. Lisäksi miksi tuo YEAR on tekstimuuttujana?

image

  • En tiedä oliko UI luokkia tarkoitus siistiä jne. työn vaatimuksissa. Nyt niiden lukeminen on hieman haastavaa.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.