I write high quality C libraries using the following guidelines:
-
performance: fast libraries are useful in a more contexts than slow libraries.
-
header only: the easiest dependency management approach is to have no dependencies.
-
standards compliant: keep code portable and minimize surprises.