Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Points/average grade #19

Closed
mhrz opened this issue Jan 15, 2017 · 18 comments
Closed

Points/average grade #19

mhrz opened this issue Jan 15, 2017 · 18 comments
Assignees
Labels

Comments

@mhrz
Copy link
Collaborator

mhrz commented Jan 15, 2017

Je pense qu'il faudrait qu'on se mette d'accord une bonne fois pour toutes sur la différence entre les points d'un participant et sa moyenne.

Pour moi, le plus logique c'est :

-un participant a une moyenne qui correspond a la note moyenne de toutes ses prestations, sans jamais prendre en compte de coefficients. Ça donne donc un nombre entre 0 et 10.

-un participant a un certain nombre de points, qui correspond à la somme de toutes ses notes pondérées par les coeff correspondants aux rôles qu'il a eu. De cette façon, le nombre de points d'une équipe est simplement la somme du nombre de points de chacun des membres de l'équipe.

Donc je pense qu'il y a actuellement un problème de nom pour la classe Participant.points (qui ne prend pas en compte les coeffs).

Les deux infos sont intéressantes et devraient être affichées sur les pages des équipes et des participants.

Peut-on envisager de modifier sans tout casser ? :s

@mhrz mhrz assigned xuod and vbonvin Jan 15, 2017
@vbonvin
Copy link
Member

vbonvin commented Jan 15, 2017

Peut-on envisager de modifier sans tout casser ? :s

Difficilement, et je ne pense pas que ce soit une bonne idée de toute façon.

Je reste persuadé qu'une comparaison équitable entre les participants doit se faire au niveau des points individuels (ou des notes, si tu préfères), et non au niveau des points multipliés. C'est d'ailleurs comme ça que les prix individuels sont décernés. Je serais même d'avis de rajouter des colonnes détaillées en fonction des roles sur la page participant afin de voir directement qui a la meilleure moyenne en tant que reporter, reviewer, opponent... Enfin, libre à vous d'adopter un affichage différent pour FTP2017, mais ça ne nécéssite pas de changer le code python, juste l'affichage des données via django.

Changer le nom de participants.point c'est juste un coup à coller des bugs partout. Sauf si t'es doué en refactoring, mais c'est pas trop mon cas, mieux vaut laisser comme ça.

@mhrz
Copy link
Collaborator Author

mhrz commented Jan 15, 2017

Je reste persuadé qu'une comparaison équitable entre les participants doit se faire au niveau des points individuels (ou des notes, si tu préfères), et non au niveau des points multipliés.

Ah mais je dis pas le contraire ! Pour moi la comparaison des moyennes d'un côté, et la comparaison des points d'un autres donnent deux infos indépendantes et complémentaires. Ce que je propose c'est d'afficher les deux, pas de remplacer.

Et oui, on peut aussi rajouter ce que tu proposes pour voir qui sont les meilleurs Rep/Opp/Rev (en terme de moyenne).

@mhrz
Copy link
Collaborator Author

mhrz commented Jan 16, 2017

Donc je propose au final d'ajouter les colonnes suivantes sur la page listant tous les participants (quitte à en enlever après si on se rend compte que ça fait trop) :

  1. Nombre total de points (avec coeff)
  2. Points Reporter (sans coeff)
  3. Points Opponent (sans coeff)
  4. Points Reviewer (sans coeff)
  5. Moyenne Reporter
  6. Moyenne Opponent
  7. Moyenne Reviewer

et de renommer
Points (somme) -> Nombre total de points (sans coeff)

@xuod
Copy link
Collaborator

xuod commented Jan 17, 2017

I'm on it ! Je vais déplacer le comptage des points pour le mettre dans chaque round (scores des 3 "rôles"). Ensuite le score (sans coeff) de chaque participant sera la somme des rounds auxquels il/elle a pris part. L'objet Team s'occupe de calculer les coefficients et éventuels bonus. Et une méthode de Team met à jour les scores de ses participants avec et sans coeff.

@vbonvin
Copy link
Member

vbonvin commented Jan 17, 2017

Bonne idée d'essayer d'optimiser tout ça. Mais n'oublie pas de t'assurer que c'est effectivement plus rapide après les modifs qu'avant ;)

@xuod
Copy link
Collaborator

xuod commented Jan 17, 2017

Ca devrait l'être parce que tous les scores seront précalculés (le calcul se déclenche quand on save() un round). J'avais oublié les scores des problèmes, qui eux aussi devraient être précalculés. Et j'utilise https://github.com/dmclain/django-debug-toolbar-line-profiler pour faire du profiling ligne par ligne de chaque vue et déterminer la(es) ligne(s) où le bas blesse :)

@mhrz mhrz added the priority label Jan 20, 2017
@xuod
Copy link
Collaborator

xuod commented Jan 21, 2017

C'est fait ! Pour chaque participant, je compte les différents scores mentionnés par @mhrz . J'ai aussi modifié les views pour que ça corresponde.

@mhrz
Copy link
Collaborator Author

mhrz commented Jan 21, 2017

Super ! Tu peux mettre en ligne stp ?

@mhrz
Copy link
Collaborator Author

mhrz commented Jan 21, 2017

(au moins github)

@xuod
Copy link
Collaborator

xuod commented Jan 21, 2017

C'est fait. J'ai créé une branche Optimization and fait un pull request #21

@vbonvin
Copy link
Member

vbonvin commented Jan 23, 2017

On peut fermer l'issue ?

@mhrz
Copy link
Collaborator Author

mhrz commented Jan 23, 2017

Non, je ne vois pas les différentes colonnes mentionnées plus haut. @xuod ?

@xuod
Copy link
Collaborator

xuod commented Jan 23, 2017

Ca n'est pas encore dans les templates, mais le calcul est déjà fait. Donc il s'agit simplement de rajouter ce qu'il faut dans le template html. Mais comme nous n'étions pas certains encore de ce qu'on voulait faire figurer, je n'ai rien mis pour l'instant. Mais ça peut se faire très vite.

@mhrz
Copy link
Collaborator Author

mhrz commented Jan 23, 2017 via email

@xuod
Copy link
Collaborator

xuod commented Jan 23, 2017 via email

@mhrz
Copy link
Collaborator Author

mhrz commented Jan 28, 2017

@xuod
Copy link
Collaborator

xuod commented Jan 28, 2017

Done in 3ff6968

@mhrz
Copy link
Collaborator Author

mhrz commented Jan 28, 2017

Perfect, thanks!

@mhrz mhrz closed this as completed Jan 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants