Naming Conventions
TADS 3's standard libraries follow a naming convention
similar to that used for the Java system classes. For consistency, the intrinsic function name and intrinsic class
method definitions provided with the compiler follow this same set of
conventions. Here's a summary of the
naming rules:
- All
identifiers use mixed-case letters.
After the initial letter, small letters are used, except that if an
identifier consists of more than one word, the first letter of each
additional word is capitalized. It
isn’t necessary to capitalize the first letter of an embedded word in a
few cases, such as when the pair of words could reasonably be rendered in
ordinary writing as a compound word or with a hyphen (for example,
“sublist” could be used rather than “subList”).
- A
class name starts with a capital letter.
- Function,
method, property, and object instance names start with a small letter.
- A
manifest constant name (a “#define” symbol that expands to a simple
numeric or other constant value) starts with a capital letter.
- #define
symbols that define names that are meant to behave like global variables
use an initial “g” prefix (for example, “gActor” in the adv3 library).
- Macros
used only to control conditional compilation (through the “#ifdef”
preprocessor directive) use all capitals, with underscores to separate
words.
- Other
macro names should follow the appropriate convention for their intended
use. For example, a macro that’s
used to define a class should start with a capital letter, and a macro
that is used like a function or method call should start with a small
letter.
The standard libraries sometimes use an abbreviation or
acronym as though it were an ordinary word, to avoid really long names or long
runs of capital letters. For example,
the regular expression functions use “rex” instead of “regularExpression,”
because the latter is too long (rexMatch, rexSearch, etc.), and the String
method “htmlify” doesn’t capitalize the letters “HTML.”