You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Les commandes concernant les bindingconstraints semblent être compliquées à gérer.
En effet, avant la 8.7 une bindingconstraint possède seulement une matrice, puis 3 après la 8.7.
Or les commandes create_binding_constraint et update_binding_constraint héritent toutes 2 d'une classe abstraite AbstractBindingConstraintCommand qui comporte un attribut values représentant l'actuelle unique matrice de la bindingconstraints.
Pour supporter les 3 nouvelles matrices, plusieurs solutions existent:
Refactoring de cet attribut pour qu'il puisse aussi accepter un dictionnaire du type {"lt": matrix, "gt": other_matrix ...}. Cela implique de réduire la validation de ce champ car pouvant prendre plus de valeurs.
J'ai essayé de coder cela mais c'est très compliqué je trouve.
Notamment car si le champ values n'est pas précisé, il est actuellement rempli par le validateur. Or, celui-ci ne connaît pas la version de l'étude et donc ne sait pas quelle matrice créer.
Il faudrait faire du refactoring à ce niveau.
Cela pose la question de quoi faire si la personne renseigne un dictionnaire pour une étude avant la 8.7 et inversement.
Ajouter des attributs lt, gt, eq dans la classe abstraite.
Permet de garder une validaton plus stricte des matrices.
Nécessite de bien documenter ce changement pour l'utilisation de l'API, et une actualisation des scripts R.
De plus, cela pose la question de ce qu'on fait si l'utilisateur renseigne le champ values pour une étude de version inférieure à la 8.7 ou inversement avec les champs lt etc.
The text was updated successfully, but these errors were encountered:
Problem Statement
We should support new solver version: v8.7
Definition of done
Definition of "done" d'une nouvelle version du Simulateur:
Any potential roadblocks or concerns
Les commandes concernant les bindingconstraints semblent être compliquées à gérer.
En effet, avant la 8.7 une bindingconstraint possède seulement une matrice, puis 3 après la 8.7.
Or les commandes
create_binding_constraint
etupdate_binding_constraint
héritent toutes 2 d'une classe abstraiteAbstractBindingConstraintCommand
qui comporte un attributvalues
représentant l'actuelle unique matrice de la bindingconstraints.Pour supporter les 3 nouvelles matrices, plusieurs solutions existent:
Refactoring de cet attribut pour qu'il puisse aussi accepter un dictionnaire du type
{"lt": matrix, "gt": other_matrix ...}
. Cela implique de réduire la validation de ce champ car pouvant prendre plus de valeurs.J'ai essayé de coder cela mais c'est très compliqué je trouve.
Notamment car si le champ
values
n'est pas précisé, il est actuellement rempli par le validateur. Or, celui-ci ne connaît pas la version de l'étude et donc ne sait pas quelle matrice créer.Il faudrait faire du refactoring à ce niveau.
Cela pose la question de quoi faire si la personne renseigne un dictionnaire pour une étude avant la 8.7 et inversement.
Ajouter des attributs
lt
,gt
,eq
dans la classe abstraite.Permet de garder une validaton plus stricte des matrices.
Nécessite de bien documenter ce changement pour l'utilisation de l'API, et une actualisation des scripts R.
De plus, cela pose la question de ce qu'on fait si l'utilisateur renseigne le champ
values
pour une étude de version inférieure à la 8.7 ou inversement avec les champslt
etc.The text was updated successfully, but these errors were encountered: