Assert liberally to document internal assumptions and invariants

Be assertive! Use assert() or an equivalent liberally to document assumptions internal to a module (i.e., where the caller and callee are maintained by the same person or team) that must always be true and otherwise represent programming errors (e.g. violations of a function’s postconditions detected by the caller of the function). Ensure that assertions don’t perform side effects.