Coding style conventionsSource:
Following conventions apply to the easystats-ecosystem, to ensure that function and argument names as well as element names for return-values follow a consistent pattern across all packages.
Importing other packages
No full import, only selective import of functions
Use base-R wherever possible (to reduce hard dependencies)
Make sure R-version requirements are not too strict
- Package versions follow Semantic Versioning conventions.
- Own re-implementation of helper-functions, if it’s not too much
effort (e.g. I typically use own functions to check if a string starts /
ends with a pattern, or if an object (list, data frame) contains an
element with a given name (like
tibble::has_name()), to reduce dependencies.
Lower case, underscore separated if more than one verb.
Common prefix for functions that focus on specific “tasks” or workflows (e.g. insight,
get_*()to get data,
find_*()to find information, or performance,
performance_*()to compute measures of model quality,
check_*()to check model assumptions…).
Internal functions (that are not exported, like the previously mentioned helper-functions) should always start with a
- lower case, underscore separated if more than one verb
Element / Column names (for returned data frames)
First letter of the column name is capital, unless (6) applies (example:
First letter of nouns is capital, unless (6) applies (example:
Using underscore rather than camelCase to separate words (example:
Multiple words: common/main part first and adjective/specifier/variational part after, unless (8) applies (example:
Abbreviations: all uppercase (example:
Keep conventions for reserved words (example:
Adjectives / verbs: all lower case, unless (1) applies (example:
In case of multiple occurrences of column names that indicate the same measure or content (like
SE), the common part is appended as suffix to the context specific part (example:
Eta2_partial_CI_low, and not
The “squared” term in column names that refers to “common” statistics (
Omega2, …) should be written as
Chi2, and not
Eta2, and not
Eta_squared). This rule does not apply to function names.