-
Notifications
You must be signed in to change notification settings - Fork 136
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
API Consistency when managing bounds #83
Comments
mmmh je ne suis pas tout à fait d'accord pour setLB et setUB (on ne modifie pas la valeur de l'attribut au sens des accesseurs ; on met à jour la borne inférieure de la variable au sens "contrainte"). Je serais alors plutôt favorable à updateLB et updateUB que setLB et setUB c'est la même chose pour les instantations : d'un côté tu consultes la valeur de la variable (getValue) de l'autre tu poses un acte "contrainte" : une instantation, tu ne modifies pas la valeur d'un attribut. Il me semble utile de garder ces distinctions en tête (mais je suis peut-être trop vieux jeu). Qu'en pensent les autres ? Naren Le 10 nov. 2012 à 11:38, Fabien Hermenier a écrit :
|
C'est parti pour le français donc. update* me va aussi dans le sens ou c'est consistent. Charles m'avait aussi exprimé un point de vue similaire. Je pense que notre différence d'opinion vient du fait que tu penses modèle contrainte, avec la terminologie qui va avec et tu veux que l'API reflète cette terminologie. De mon côté, je pense développement: choco c'est un framework comme un autre. Fabien. |
Je comprends bien ton point de vue :) C'est pour ça que je me trouvais vieux jeu. La vraie question, comme tu le pointes, est de savoir si on veut "cacher" la mécanique contrainte ou pas. Cela ne me choque pas forcément de la cacher dans cette optique "choco est un framework comme un autre" ... comme pour beaucoup de choses le risque est la perte de compréhension intime de ce qui se passe ... mais si je suis capable de conduire une voiture sans savoir comment ça fonctionne, on peut se dire la même chose de la ppc :) J'attends les avis des autres. Naren Le 10 nov. 2012 à 12:19, Fabien Hermenier a écrit :
|
En ce qui me concerne je suis contre "setXX" parce qu'il est possible que l'appel de méthode échoue. Par contre, pourquoi pas updateLB au lieu de updateLowerBound, etc. En ce qui concerne getValue() et instantiate(), c'est moins évident. On pourrait imaginer un restrictDomainTo(), ou un truc du genre... (sans conviction). |
Je suis d'accord avec Charles Pour la différence getValue() / instantiateTo |
ou proposer getInstantiation() (à la place ou en plus de getValue()) |
ça me paraît difficile : il n'y a pas réellement de "value" lorsque la variable concernée n'est pas instantiée : getValue renvoie alors la borne inf (il faudrait d'ailleurs peut-être revoir ça :S) enforceValue ou enforce n'est pas mal par contre Naren Le 19 nov. 2012 à 23:25, jgFages a écrit :
|
Bonjour Je trouve enforceValue() trop long (je me doute bien que c'est une valeur de par le parametre). A+ ----- Mail original -----
|
Salut,
Le 20 nov. 2012 à 07:55, Fabien Hermenier a écrit :
|
Tout a fait, mais je parlais également du getLB() vs. updateLowerBound()/updateLB()/et feu setLB() Mais si setValue(), getValue() ne vous semble pas propre, je trouve que getValue()/instantiateTo() plus compréhensible et/ou court que getInstantiated()/setInstantiatedTo() ou restrictDomainTo(), ou enforceValue(). Fabien ----- Mail original -----
|
Ok sinon pour info je n'utilise jamais de getValue pour les variables graphes: je regarde si ma variables est instantiée et ensuite je prends une borne (en guise de valeur). |
Je recommande POMME+SPACE ou CTRL+SPACE ;) |
Hi
To retrieve a bound on a variable 'x', we have 'x.getLB()' and 'x.getUB()'. It's short, it's simple, it's great.
To update a bound on 'x', we have to use 'x.updateLowerBound()' and 'x.updateUpperBound()'. This is soooo verbose and not aligned with the getters. I would enjoy to have 'x.setLB()' and 'x.setUB()'.
It's the same for the instantiation process. On one side, you have 'x.getValue()', on the other side, you have 'x.instantiateTo()'.
BR
Fabien.
The text was updated successfully, but these errors were encountered: