GithubHelp home page GithubHelp logo

beerpong-stats's People

Watchers

 avatar  avatar

beerpong-stats's Issues

Koodikatselmointi

  • Ladattu klo 17 (ti 17.6), testattu firefoxissa

Ohjelmasta:

  • toimii kivasti, joitain pikkubugeja:
  • Lisää peli: jotkut kentät meni oletusarvoisiksi jos oli alle 10 pistettä kun yritti tallettaa
  • Lisää peli: kommenttitekstissä kursori menee aluksi kummaan paikkaan
  • Lisää peli: voi olla sama henkilö useassa eri paikassa
  • Omat tilastot: päiväys ei toimi
  • Joukkueet: voittoprosentti ei toimi
  • En havainnut admin kirjautuneena mitään eroa tavalliseen kirjautujaan
    (dokumentin mukainen admin salasana 'iorena') että
  • dokumentaatio mainio ja selkeä

koodi:

  • views: php koodi on aika kökköistä ainakin viewseistä on vaikea saada tolkkua
  • libs/models: tämä on paremmin tajuttavaa koodia, mutta kommentteja ei ole
  • juuri: onko paras paikka laittaa controllerit juureen?
  • controllerit omat mukavan lyhyitä mutta edelleen kommentit puuttuvat

Koodikatselmointi #1

Koodi ladattu 16.41

Aihe vaikuttaa mielenkiintoiselta ja työ näyttää edistyvän. Yritin laittaa tähän joitakin asioita, jotka pistivät minun silmääni.

  • Modellit
    • Users-modelliin kannattaisi lisätä konstruktori, jonka avulla luodaan uusia luokan ilmentymiä.
    • findUser metodi palauttaa käyttäjän id:n user-olion siasta. Järkevämpää olisi luoda funktiossa uusi user-olio tietokannasta saatujen tietojen perusteella ja palauttaa se.
    • Olisi myös kiva, jos modellit vastaisivat tietokannan tauluja. Esim. sinulla on modelli stats, mutta ei taulua stats. Funktiot getPlayerName(), gamesPlayed(), averagePoints(), jne. voisi hyvin siirtää user-modelliin, koska ne palauttavat tietoa joka liittyy johonkin käyttäjään. Se autttaisi myös luettavuudessa, sillä esimerkiksi kun sinulla on luokassa stats metodi averagePoints(), on vähäsen hankala päätellä mitä metodi tekee. Nimen perusteella se voisi palauttaa kaikkien pelaajien keskiarvon, tietyn ottelun keskiarvon, tai ties vaikka mitä. Siirtämällä tämän user-malliin selkiintyy, että tämän metodin tarkoituksena on palauttaa yhden pelaajan keskiarvo.
  • Tietokantayhteys saadaan tiedostosta yhteys.php. Koska tiedosto ei ole kontrolleri, vaan yleiskäyttöinen apuluokka, siirtäisin sen projektin juuresta libs-kansioon.
  • Näkymien ongelmia

Näkymissä on tägejä vähäsen oudosti. Esim views/login.php ja views/index.php lopussa on body-tägi. Muissa vieweissä, kuten vaikka views/mystats.php kyseistä tägiä ei ole. Koska body:n sulkeminen kaikilla sivuilla on hyvä idea, suosittelisin tägin siirtämistä sivupohjaan.

  • Tarkkuutta sisennyksiin

Koodi on sisennetty, mutta sisennykset ovat sekoitus tabeja ja välilyöntejä. Tämä tekee sisennyksistä sekavaa ainakin minun koneella. Kannattaa valita yksi sisennystyyli ja pysyä siinä. Esimerkkejä:

Ongelma näyttäisi keskittyvän vieweihin.

  • Salasanat ovat tietokannassa selväkielisenä. Salasanat olisi luonnollisesti hyvä tiivistää salasanoille suunnitellulla tiivistefunktiolla (kuten bcrypt tai scrypt). Muistaakseni kurssilla tätä ei kuitenkaan vaadita.

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.