[Objective] is_competitive & competition #37
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Sulley/khana#37
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hay,
Dans le fichier
objective/models.py
, tu as grosso-modo quatre classes:Pour les trois dernières, tu as soit un champ
competition
(booléen, false par défaut) ouis_competitive
(idem).Quelle est la différence entre ces champs ? Ne faudrait-il pas créer une classe abstraite pour en simplifier la gestion ?
Je vais essayer d'être clair.
Tout part de "TouchPosition"
Certaines "TouchPosition" sont autorisée en compétition, d'autre pas.
Les "skill" sont composé de "TouchPosition" (une pour le départ, une pour l'arrivée).
Donc, si un "skill" contient une "TouchPosition" qui n'est pas acceptée en compétition, par logique le "skill" n'est pas non plus accepté en compétition.
Une "Routine" est composée de "skill"… Si une routine contient un skill qui n'est pas accepté en compétition, la routine n'est pas non plus accepté en compétition (toujours par déduction logique)
(Et je ne sais plus ou se situe la notion d' "educatif" dans le truc mais c'est pareil... Je crois me rapeller que c'est une classe abstraite pour Skill et Routine)
Okay, donc cela rejoint ma proposition.
D'abord, que
competition
n'est pas intuitif. Au niveau deTouchPosition
, il faudrait quelque chose commeis_allowed_in_competitions
.Ensuite, que placer un
is_competitive
au niveau des classesSkill
etRoutine
n'est pas non plus intuitif, puisque cette information découle du fait que la position d'arrivée n'est pas autorisée.Idéalement, le fait que le skill ou la routine puisse être autorisé en compétition devrait en fait être calculé en fonction des positions d'arrivée qui y sont liées.
En pratique, cela risque de plomber les performances si ce n'est pas fait correctement et en fonction d'un contexte.
(= normalisation de la base)