2023-11-13 Dealita Code Review

 

  1.  

image-20231113104901068

sqlalchemy.exc.InvalidRequestError: When initializing mapper Mapper[ModelChecklistQuestion(checklist_questions)], expression 'ModelChecklistAnswer' failed to locate a name ('ModelChecklistAnswer'). If this is a class name, consider adding this relationship() to the <class 'models.ModelChecklistQuestion.ModelChecklistQuestion'> class after both dependent classes have been defined.

Nav jēgpilni pievienot relationship pie checklist_questions, jo vairākiem deals var atkārtoties jautājumi, tā vietā nepieciešams pievienot relationships pie checklist_answers, jo atbildes gan būs tikai pa vienai pie katra jautājumu un deal. checklist_answers nemaz nestrādāja, jo nebija vispār pievienojis DB! Kad tālāk strādā pie ši projekta atver datubāzes manager iekš PyCharm un izpēti pašu datu bāzi. Tev pašam ir jāveic izmaiņas citreiz DB.

Zemāk DB structure pirms manām izmaiņām

image-20231113105730068

pēc izmaiņām

image-20231113110547205

image-20231113105700905

Deals Controlleri es visu saliku ka vajag, pie views ar Jinja2 aizsutiju render_template ar vajadzigajiem aprekiniem

Tevis pievienotais deal_id pie checklist_answers bija pareizā virzienā, taču vajadzēja implementēt arī DB

 


Translations

Visus hard-coded texts laist caur Babel

image-20231113114404051

 

  1. Mark strings as translatable in Jinja templates:

  1. Extract strings into a .pot file:

  1. Initialize translation for language:

  1. Translate the strings in translations/es/messages.po

  2. image-20231113114639050

  3. Compile translations:

So in summary, Flask-Babel integrates gettext translations into Flask, allowing you to mark strings for translation in Jinja templates. The _ function is made available by Flask-Babel for looking up translations.

image-20231113120816021

 


Functions

šiem jābūt Controllers actions ar POST vai GET image-20231113120932382

Aizpildi visu info image-20231113121800721

 

Change in score nosaka pēc pēdējām activities

image-20231113122146780

Activities ir MatchScoreLogs (DB jau eksistē)

image-20231113123811518


Code Review

Scripts imports nedrīkst likt pa vidu template, tikai head, pašu JS code arī vajadzētu ar mazāk hard-coded lietām, paņemt vairāk no common JS faila, tikai mainīgos padot uz funkcijas izsaukumu piemēram circle_progres(something) image-20231113122248958

 

 

Nedrīkst miksēt dažādus code name conventions - visur liet small_case_underscores, tikai class names PascalCase

image-20231113112025987

Neraksti garas rindas, split in multi-lines

image-20231113112107291

Pārāk generic variable name - nedrīkst lietot value, data utt

image-20231113112144761

 

Nevis

image-20231113110840719

Bet gan image-20231113110904488