leka / LekaOS

LekaOS is Leka's firmware based on Mbed OS
https://leka.io
Apache License 2.0
14 stars 7 forks source link

RobotKit - Refactor in different modules #786

Open ladislas opened 2 years ago

ladislas commented 2 years ago

Diviser pour mieux régner

Context

RobotController (RC) has grown to gigantic proportions and dealing with tens of different things.

It was accepted at the beginning that :

With new states, events, callbacks, behaviors, actuators, added almost everyday, it's getting harder and harder to keep RC well organized, the entities well named and the logic cristal clear.

In particular, unit tests are very thorough but are very hard to read, very hard to understand and very hard to change if the specifications were to evolve.

Solution

The proposed solution is to divide the current RobotController in different modules with limited responsibilities:

DI and virtual interfaces can be used for easier unit testing.

This division will also allow us to really do siloed unit tests and to better specify the behaviors.

Steps

ladislas commented 2 years ago

Moved to Future releases milestone https://github.com/leka/LekaOS/milestone/5