Coder Social home page Coder Social logo

otm-harjoitustyo's People

Contributors

vsvala avatar

Watchers

 avatar  avatar

otm-harjoitustyo's Issues

Koodikatselmus

Koodikatselmus

Katselmus aloitettu 26.5 17:20 Release-versiolla

Kommentit koodissa

Kommentoituna näyttää olevan jonkin verran vanhentunutta(?) koodia. Näiden poistamisella koodi siistiytyy, ja varsinaiset kommentit tulevat paremmin näkyviin. Erityisesti FitMeUi.javassa on paljon tavaraa, siitä lisää alempana.

Usein refaktoroidessa kannattaa toki säilyttää vanha koodi malliksi ja varuilta uloskommentoituna, mutta kun uusi versio on todettu toimivaksi, sen läsnäolo lähinnä sekoittaa vanhaa koodia (ainakin allekirjoittaneen kohdalla. :)

FitMeUi.java

N. 400 riviä UIta on melkoinen tiedosto tulkattavaksi, ja varmaan oletkin sen jakoa jo suunnitellut. Ilmeisesti DiaryUi ja CreateUserUi ovat juuri tarkoitusta varten jo aloiteltu, mutteivat vielä käytössä. Kun saat Scenet pilkottua ja järjestettyä niin luettavuus parantuu varmasti huimasti.

Konstruktorisuma

Diary.javalla on 7 konstruktoria, hieman vaihtelevilla parametreilla. Oletan että tässä on testaus meneillään ja konstruktorit ovat syntyneet samaa tahtia kun uusia muuttujia on lisätty, mutta muutaman voinee poistaa häiritsemästä ja turvottamasta luokkaa.

Rivileveydet

Pieni tyyliseikka: koodirivien perässä olevat selventävät kommentit kommentit leventävät rivit eivätkä välttämättä näy kunnolla. Siirtämällä nämä koodia edeltävälle riville koodista tulee jälleen selkeämpää luettavaa. (Esimerkkejä mm. FitMeUi.java riveillä: 143, 172, 203, 212)
Samoin SQL-komennot voisi jakaa useammalle riville (esim. Database.java 67, 68.)

Interfacejen tarpeellisuus ja yhtenäisyys

UserDao ja DiaryDao ovat interfaceja, mutta niitä käytetään kuitenkin vain yhdessä luokassa. Onko niille varsinaisesti tarvetta, tai voisiko ne ehkä yhdistää yhteiseksi Dao-interfaceksi?
Toisaalta jos on tarkoitus luoda lisää dao-objekteja jotka toteuttavat juuri noita interfaceja, on olemassaolo hyödyllistä, mutta nyt ne tuntuvat hieman ylimääräisiltä. Niiden yhdistämisen jälkeen yhteisiä metodeja ei myöskään jäisi montaa jäljelle...

Kannattaa joka tapauksessa miettiä miten näitä haluaa jatkossa käyttää, itselleni tuntuisi oudolta jos yhtä luokkaa varten on oma interface, mutta ehkä se on myös selkeyttävä tapa toteuttaa asia.

Koodikonventio

Koodi itsessään on selkeää ja konventioiden mukaista. Checkstyle valittaa muutamasta whitespacesta Diary.javassa, mutta nämähän lähtevät (ainakin Netbeansissä) shift+alt+F:llä. Samaan tiedostoon on myös lipsahtanut getday() metodi, jonka voisi nimetä getDay()ksi (klikkaa nimeä, ctrl+r refaktoroi nimen kaikkialta kerralla) niin sekään ei pistä silmään jatkossa.

Loppusanat

Projekti näyttää olevan hyvällä mallilla, ja varsinkin UI ja DB ovat hienossa tilassa! (Arvostan näitä erityisesti, sillä ne juurikin puuttuvat omasta projektistani... ><)

Kaaviot ja dokumentointi ovat myös ensiluokkaisia!

Tsemppiä jatkoon!

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.