darwinop-ens/darwin-op

mouvements, la structure n'est pas claire...

Opened this issue · 3 comments

L'interface des mouvements est bizarre...

MotionModule représente non le "module qui gère le mouvement"... mais un mouvement abstrait... elle devrait s'appeler "AbstractMotion", ou tout simplement "Motion"

Walking hérite de MotionModule : ok

MotionManager semble être une succession de mouvements... mais dans ce cas, .... c'est un mouvement !! Pourquoi MotionManager ne s'appelle pas MotionSequence (séquence de mouvements) ? Pourquoi Pourquoi MotionManager (MotionSequence) n'est pas un mouvement, (c'est à dire n'hérite pas de MotionModule (ou Motion) ?)

Ca manque un peu de cohérence tout ça...

Et Head ne représente pas la tête... mais bien quelques mouvements de la tête... donc ça devrait être MotionHead (ou HeadMotion)...

Et la classe "Action" est la pire... on ne comprend pas ce qu'elle fait !! "Action" c'est trop vague...

Aussi la classe Action a l'air très grosse... et même la classe Head... la classe Head fait "hocher la tête", "suivre un point" etc. avec des méthodes différentes etc. Ce n'est pas terrible car si on veut améliorer la fonction "hocher la tête" il faut aller aller modifier le fichier....

Je propose quelque chose comme une interface qui s'occupe des mouvements de BAS NIVEAU de la tête... et on l'implémente pour DarwinOP puis des comportements plus haut niveau comme "hocher la tête", "suivre un point" qui elle utilise l'interface... à voir....

Faut que je dessine de l'UML :)