Git Product home page Git Product logo

work-sheet-out's Introduction

OTM-harjoitustyö

worksheetout

Treenien seurannan helpottamista varten rakennettu yksinkertainen sovellus.

Dokumentaatio

Käyttöohje

Vaatimusmäärittely

Arkkitehtuurikuvaus

Testausdokumentti

Työaikakirjanpito

Releaset

Viikko 5

Viikko 6

Loppupalautus

Komentorivitoiminnot

Ohjelman suorittaminen

Ohjelman voi suorittaa hakemistossa worksheetout komennolla

mvn compile exec:java -Dexec.mainClass=worksheetout.ui.TestUI

Testaus

Testit suoritetaan komennolla

mvn test

Testikattavuusraportti luodaan komennolla

mvn jacoco:report

Kattavuusraporttia voi tarkastella avaamalla selaimella tiedosto target/site/jacoco/index.html

Suoritettavan jarin generointi

Komento

mvn package

generoi hakemistoon target suoritettavan jar-tiedoston worksheetout-1.0-SNAPSHOT.jar

JavaDoc

JavaDoc generoidaan komennolla

mvn javadoc:javadoc

JavaDocia voi tarkastella avaamalla selaimella tiedosto target/site/apidocs/index.html

Checkstyle

Tiedostossa checkstyle.xml määrittellyt tarkistukset suoritetaan komennolla

 mvn jxr:jxr checkstyle:checkstyle

Mahdolliset virheilmoitukset selviävät avaamalla selaimella tiedosto target/site/checkstyle.html

work-sheet-out's People

Contributors

sainikumara avatar

Watchers

James Cloos avatar  avatar

work-sheet-out's Issues

Koodikatselmointi

Latasin projektin 3.5 kello 18.30

Palautetta:
  • Koodi on selkeää ja metodien nimet ovat hyviä. Koodia lukiessani pysyin kohtuu hyvin kärryillä paitsi google spreadsheets-metodit olivat tajunnan rajoilla. Main-luokan nimi TestUI:n voisi tosin olla joku vähän ilmeisempi.
  • Excercise-luokka herätti hieman mietteitä siitä, miksi juuri kaksi parametriä? Ohjelma voisi kenties kysyä parametrejä käyttäjältä kunnes käyttäjä päättää, että parametrejä on tarpeeksi.
  • Testit olivat hyvin nimettyjä ja vaikuttivat testaavan luokkia kattavasti. Kenties ainoa miinus oli että ExcerciseTestin metodi nameIsCorrect() testaa periaatteessa neljää eri asiaa samassa testissä testatessaan eri konstruktoreilla tehtyjä Excerciseja.

Itse ohjelman käytössä huomasin hieman enemmän ongelmia:

  • Ohjelman pyytäessä käyttäjältä tietynlaisia arvoja ja tyhmän käyttäjän ignooratessa nämä pyynnöt, ohjelma kaatuu. Näin kävi antaessa päivämäärän tilalla kirjaimia ja sessioista kertoessa antaessa kirjaimia.
  • Tallennus spreadsheetsillä toimii ensimmäisellä kerralla mainiosti. Loistava lisäys ohjelmaan kyllä! Kuitenkin opin kantapään kautta, että ohjelma pyyhkii edellisen Routinen tiedot uuden tieltä. Ohjelma voisi kenties varoittaa tästä käyttöliittymässä. Vaikka vanha rutiini pyyhkiytyy, vanhat suoritettujen treenien tiedot pysyvät ja uudet tulevat niiden perään. Tämäkin on hieman epäloogista.
  • Ääkköset eivät näyttäneen näkyvän spreadsheetsissä ja niistä tuli vain kysymysmerkit taulukkoon.
  • Ohjelma pyytää käyttäjää kertomaan sessiosta Integer numerolla. En ihan tajunnut mitä tämä tarkoittaa. Ohjelma voisi selittää tätä kenties tarkemmin.

Kehitysideoita

  • Ohjelman Dao-interfacet voisi yhdistää yhdeksi Dao interfaceksi jonka save metodia ei olisi määritelty tarkasti. Esim tyyliin Public Interface Dao<T> ja siinä metodi save(T element, ....). Kumpikin tätä implementoiva luokka voisi käyttää T paikalla tarvitsemaansa luokkaa ja säästyttäisiin samankaltaisilta Dao-interfaceilta. Esim. siis tyyliin public class SheetRoutineDao implements RoutineDao<Routine> jolloin RoutineDao käyttäisi T paikalla Routinea.

Hyvää työtä ja tsemppia vikalle viikolle!

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.