Qu'est ce qui t'empêcherait de donner un nom plus spécifique
Prenons un exemple similaire:
Si tu lis
Shape::SetPosition(Position const &), tu vas te dire que cette fonction "déplace ton shape vers la postion indiquée".
Comme le but de cette fonction est clair pour toi, tu n'iras pas forcément voir au niveau de la documentation ce qui est dit sur le sujet
Tu t'attendras donc, en toute logique, à ce que ce soit simplement implémenté sous la forme de
1 2 3 4 5
| Shape::setPosition(Position const & pos)
{
topLeft_ = pos;
/* au fait, on s'attend à ce que bottomRight_ reste inchangé :? */
} |
Bref, tu t'attend à ce que la position soit, à un instant donné, la position d'origine et, tout de suite après, la nouvelle position.
Tu n'as, encore une fois, aucune indication qui te permette d'envisager le fait que tu vas déplacer "progressivement" topLeft_ vers la nouvelle positon, ni sur ce qu'il advient de bottomRight_;
Par contre, si tu renommes cette fonction en moveTo(Position const & pos):
- Tu sais très bien ce qu'il adviendra de bottomRigh_ car on ne parle que de mouvement (on est donc en droit d'estimer que bottomRight_ sera modifié de manière à garder les mêmes dimensions)
- On se rend beaucoup plus facilement compte qu'il s'agit d'un mouvement, et l'on est conscient du fait qu'un mouvement n'est *pas forcément* instantané. Cela nous incitera sans doute à aller voir dans la doc si le mouvement se fait de manière instantanée ou pas (à moins qu'il n'y ait une fonction moveToAnimated ou un état correspondant au fait que les modifications soient animée ou non )
Partager