[Objective] is_competitive & competition #37

Open
opened 2020-10-28 20:56:37 +01:00 by Fred · 2 comments
Owner

Hay,

Dans le fichier objective/models.py, tu as grosso-modo quatre classes:

  • Educative
  • Skill
  • TouchPosition
  • Routine

Pour les trois dernières, tu as soit un champ competition (booléen, false par défaut) ou is_competitive (idem).

Quelle est la différence entre ces champs ? Ne faudrait-il pas créer une classe abstraite pour en simplifier la gestion ?

Hay, Dans le fichier `objective/models.py`, tu as grosso-modo quatre classes: * Educative * Skill * TouchPosition * Routine Pour les trois dernières, tu as soit un champ `competition` (booléen, false par défaut) ou `is_competitive` (idem). Quelle est la différence entre ces champs ? Ne faudrait-il pas créer une classe abstraite pour en simplifier la gestion ?
Fred added this to the Revue de l'application `objective` milestone 2020-10-28 20:56:37 +01:00
Fred added the
question
label 2020-10-28 20:56:37 +01:00
Sulley was assigned by Fred 2020-10-28 20:56:37 +01:00
Owner

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)

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)
Author
Owner

Okay, donc cela rejoint ma proposition.

D'abord, que competition n'est pas intuitif. Au niveau de TouchPosition, il faudrait quelque chose comme is_allowed_in_competitions.

Ensuite, que placer un is_competitive au niveau des classes Skill et Routine 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)

Okay, donc cela rejoint ma proposition. D'abord, que `competition` n'est pas intuitif. Au niveau de `TouchPosition`, il faudrait quelque chose comme `is_allowed_in_competitions`. Ensuite, que placer un `is_competitive` au niveau des classes `Skill` et `Routine` 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)
Sign in to join this conversation.
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Sulley/khana#37
No description provided.