1. lähdekoodin katselmoinnin huomiot

Yhteenveto koodista

Timber-ryhmän tekemät muutokset:

  • 13 muokattua tiedostoa
    • olennaisimmat:
      • Dockerfile
      • initdb2.py
      • tim.py
      • static/stylesheet.css
      • static/scripts/view_html.js
      • templates/view_html.html
      • timdb/timdb2.py
    • vain whitespace-muutoksia:
      • static/templates/parEditor.html
      • templates/view_head.html
      • templates/paragraphs.html
    • turhia muutoksia:
      • modules/Haskell/cabal.sandbox.config
      • modules/cs/java/fxgui.jar
      • modules/cs/startPlugins.sh
  • 26 lisättyä tiedostoa
    • olennaisimmat:
      • assesment_area.py
      • schematimber.sql
      • routes/annotation.py
      • routes/velp.py (Joonas/Petteri/Seppo)
      • static/css/velpSelection.css
      • static/scripts/controllers/reviewController.js (Seppo)
      • static/scripts/directives/marking.js
      • static/scripts/directives/reviewEditor.js
      • static/scripts/directives/velpSelection.js (Seppo)
      • static/templates/marking.html
      • static/templates/popOverTemplate.html
      • static/templates/reviewEditor.html
      • static/templates/velpSelection.html
      • templates/velp_view.html
      • timdb/annotationcomments.py
      • timdb/annotations.py
      • timdb/icons.py
      • timdb/labels.py
      • timdb/velpgrouplabels.py
      • timdb/velpgroups.py
      • timdb/velps.py (Joonas/Petteri)
    • muut 3 (ei tarvinne katselmoida):
      • static/test_data/tags.json
      • static/test_data/phrases.json
      • static/test_data/markings.json
    • turhat:
      • modules/cs/comtest.jar
      • modules/cs/comtestcpp.jar

Yleisiä huomioita HTML:stä

  • Kommentit englanniksi.
  • Tyylit mieluummin CSS-tiedostoon, ei style-attribuuttiin.
  • Pitkät rivit hyvä jakaa useammalle riville.

Yleisiä huomioita JavaScriptistä

  • != -> !==, == -> ===
  • Objektien avaimien ei tarvitse olla lainausmerkeissä (muuta kuin joissain erikoistapauksissa).
  • Minimoikaa globaalien muuttujien määrä Angularin ohjaimista ja direktiiveistä: jos tarvitsee käyttää esim. window-olion funktiota clearInterval, niin injektoikaa ohjaimeen $window ja sanokaa koodissa $window.clearInterval(...). Globaaleja ovat esim.
    • window
    • document

Yleisiä huomioita Pythonista

  • Dokumentaatiokommentteja puuttuu joistain funktioista.
  • Oikeuksien tarkistus puuttuu joistain reiteistä.
  • contracts-kirjaston tilalle PEP484.
  • Muutamassa kohdassa pieniä PEP8-virheitä.

static/scripts/controllers/reviewController.js

  • Funktion addMarkingToCoord JSDocissa väärät parametrien nimet.
  • return undefined; on sama kuin return; -- mutta return null; lienee parempi.
  • if ($scope.velps[i].id == "" +id) - tarvitseeko oikeaa puolta muuntaa merkkijonoksi? Eikö velpin id ole numero? Vrt. getMarkingComments.
  • @returns {Array|*|string|boolean} ehkä kyseenalainen.
  • Mitä tarkoittaa Gives error [$compile:nonassign]?

static/scripts/directives/velpSelection.js

  • JS:ssä näytetään pitävän kirjaa viimeisimmästä velp-id:stä, mutta kannattaisiko se jättää kannan tehtäväksi? Ja reitissä ei näytetä edes välittävän siitä.
  • foreach-silmukoista puuttuu hasOwnProperty-tarkistus (tai jQueryllä: $.each(collection, function () { ... }))

routes/velp.py

  • Kaikki reitit voisivat palauttaa JSONia (nyt esim. add_velp ja add_label palauttavat pelkän merkkijonon).
  • get_velps: if-lauseen ehtoon ei tarvitse sulkuja
    • lisäksi voi yksinkertaistaa:

       if velp_data and label_data:
    • iffin sisällä joudutaan tekemään melko paljon hommia, jotta avainsanojen id:t saadaan velpeille. Metodin get_document_velp_label_ids kannattaisi ehkä palauttaa dict(int, list), jossa avaimena on velpin id. Sitten avainsanat voisi asettaa yhdessä silmukassa tyyliin:

       for v in velp_data:
           v['labels'] = velp_labels.get(v['id'], [])
    • Do magic?

  • Parametrien oikeellisuustarkistus.

timdb/velps.py

  • Something is f...d up here - what?
  • Connection-tyyppiä varten puuttuu import.

assesment_area.py

  • Hyvä idea.
  • Tiedostonimessä typo.
  • Loppuun rivinvaihto (PEP8).
  • Muodostajan kaikilla parametreilla voisi olla oletusarvo None, jolloin helper-metodeissa riittää antaa se, joka ei ole None.

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.