Somewhat arbitrary, especially when it comes to prefixes, but:
- Make liberal use of aliases like
Macro
in lieu ofgroff
's overly terse defaults. - Use long-form, descriptive names for macros, strings and registers -
with the only exception of registers meant to hold temporary results,
which can be named
r
(possibly under the module's namespace). - Use
PascalCase
for macro names, andserpent-case
for registers. - Divide the macros in meaningful modules, and namespace anything that should not be used directly by the user by prefixing it with the module name and one asterisk.
- Prefix internal-only macros/variables with a
@
.