Matoking/pastebin-django

Katselmointi kierros 2

Closed this issue · 1 comments

Paketti/repo: Ladattu 15.4.2015 klo 18:05

  • Bugi: Amazing site -linkki ei toimi.
  • Kysymys, mitä on nämä melkein tyhjät .py -tiedostot, joitain importteja sisältäviä tiedostoja ei mitään muuta, pitäiskö nämä poistaa?
  • Tiedostojen nimet yleensäkin, hakemistot on aina "luokan" tai "kannan" mukaan, mutta ne sitten sisältää tiedostoja models.py, views.py jne. oisiko näitä mahdollista tehdä samalla tavalla miten php:n puolella, eli on erikseen views/pastes/nakyma.py tai models/pastes.py jne. ? eli hieman selkeyttää mitä tiedosto pitää sisällään, vaikka onkin hakemisto-rakenne. Itselle hieman outoa käydä läpi kun joka kansiossa on saman nimisiä tiedostoja niin aluksi ainakin jouduin ihmettelemään.
  • pastes/models.py etkö voisi lisätä erikseen vain kuukautta add month 1? tämän voi tarvittaessa tehdä kannassa. Kaikki nämä expiroitumis ajat voi tehdä kannassa, queryt toki vähän erilaisia.
  • Miten käy jos satumme luomaan saman merkkijonon kahdelle eri pastelle? tuleeko meille molemmat näytölle? (mahdollisuus on pieni, mutta olemassa)

-- SG

  • Python-paketeissa hakemiston sisällä pitää olla init.py tiedosto (vaikka se olisi tyhjä), jotta Python tunnistaa sen hakemiston olevan paketti, jonka sisältä voi importata luokkia muualle käyttöön. Muussa tapauksessa tiedostot ovat tyhjiä koska ne eivät ole käytössä ja ne pitäisi varmaan poistaa (esim. tests.py ja admin.py). :)
  • Djangossa projektit koostuvat yksittäisistä appseista (esim. pastes ja comments ovat appseja), jotka toteuttavat niihin liittyvät kontrollerit, näkymät ja mallit. Tällä on tarkoitus helpottaa koodin uusiokäyttöä muissa projekteissa. Eli vaikka Django ja muut frameworkit noudattavat MVC-mallia, projektien rakenteet vaihtelevat silti eri ohjelmointikielien ja frameworkkien välillä.
  • datetime-objektien käyttäminen on mielestäni helpompaa koska eri tilanteiden varalle ei tarvitse olla eri SQL-käskyjä. Tämän lisäksi jos haluan käsitellä ohjelmani sisällä tulevia aikoja koskematta tietokantaan, minulla on siihen valmiiksi metodi.
  • Kuukauden pituudeksi laitoin 31 vuorokautta koska timedelta ei ota vastaan kuukausia. Tämän lisäksi halusin pitää vanhentumisajan samana riippumatta lähetyshetken kuukaudesta.
  • Saman merkkijonon todennäköisyys on äärimmäisen pieni, mutta käytännössä tietokannasta haettaisiin ensimmäinen täsmäävä paste, eli sen jälkeen luotuja samoja pasteja ei olisi käyttäjän kannalta olemassa. Toisaalta, tälläinen tilanne on todennäköisempi jos järjestelmä ei pysty luomaan tarpeeksi satunnaisia merkkijonoja esimerkiksi satunnaisdatan puutteen vuoksi, joten tälle tilanteelle kannattaa varmaan lisätä tarkistus.

Kiitos palautteesta! 👍