Good afternoon Team,
I may sound direct and blunt. Sorry in advance that’s just me.
First up
The Reachy and reachy 2 versioning
I have presented this to robot dev people, computer users and non robot dev people. All, I repeat all have said when asked what does reachy and reachy 2 mean to you, answer “it’s the second version of the first”. Which is not true! They are two separate paths.
My suggestion is to call reachy “ReachyAC” for academic and “ReachyIN” for industrial. Like wise for the SDK naming, so there is no confusion; ReachyAC_SDK and ReachyIN_SDK.
Which brings us to the actual versioning scenario; it would seem that we need both a hardware and software versioning. In normal situations versioning is done as follows 00.00.00, the first set of zeros is for major releases, serving set for revisions that have different controls, interfaces or corrections, that last set is for corrections that don’t change the look and feel of the unit in question. This is the best practice MAJOR.MINOR.PATCH for semantic versioning.
This would apply to both hardware and software.
This brings us to the second item; github. The lack of PEP8 usage for python, the lack of titles that one can tell its for reachy or reachy 2 and the lack of versioning.
I think your github system needs to break things down to reachyAC and reachyIN so people can go right to where the system they have is located instead of searching through poorly named projects again most with no real versioning n system.
You need to come up with a standardized naming system that explains what is there. Something to the effect of ReachyAC_Soundboard_LocatingDirection and ReachyAC_Games_TicTacToe.
This also needs to have versioning using the standard method above.
Lastly; sorry about this “COMMENT YOUR CODE”. If you don’t comment your code it takes to much time to figure out what you have done and WHY! If you are calling something in another library or class tell us the name so we can follow right to the source. Also run the extentions at the end of your time with the code to run linters formatters etc.