personalrobotics / aikido

Artificial Intelligence for Kinematics, Dynamics, and Optimization
https://personalrobotics.github.io/aikido/
BSD 3-Clause "New" or "Revised" License
213 stars 30 forks source link

Solidify when to make a new component. #585

Open sniyaz opened 4 years ago

sniyaz commented 4 years ago

During the review of https://github.com/personalrobotics/aikido/pull/567, the issue arose of when exactly we should add new components to AIKIDO. The logic in this PR is that a new component should be added when either/or:

  1. The amount of code in this component has grown large enough that splitting it off makes sense.
  2. The dependencies involved would mean that a large component (with lots of critical functionality) would fail to build if certain optional dependencies were not installed correctly.

We should debate and solidify these guidelines, then add them to our code guidelines.