libhal / libhal.github.io

Organization wide repo for docs, assets, and tools any other static information
Apache License 2.0
0 stars 1 forks source link

Design Philosophy: interface #20

Closed kammce closed 2 months ago

kammce commented 3 months ago

Document the design philosophy for creating new interfaces. Here is a quick list:

  1. Smallest vtable
  2. Private virtual functions
  3. Pure virtual functions
  4. Zero bytes in size
  5. Do NOT break ABI
  6. Naming a. TBD
  7. Must not be a template
  8. Prefer wide API contracts
  9. Eliminate viral behavior
  10. ...