SANE defaults
The default behaviour of functions, APIs, applications, etc is often specified or designed to be ‘sane’ - but does this actually mean? Use the SANE default acronym.
Simple
The default options should give usable and useful output for the majority of use cases. Little-used functionality is for non-default behaviours.
Aligned
Align default values both internally and externally. All functions in a package should have consistent and compatible default values. If there is consistency in prevailing usage externally, follow it.
Neat
The default options should be neat and tidy. This applies whether the goal is a visualisation, data, a composition of functions, etc.
Expected
Many disciplines have expected norms. If your code reflects these disciplines then use the expected norms. Follow the principle of least surprise.