retroforth/book/Programming-Techniques-Naming-Conventions

86 lines
2.3 KiB
Text
Raw Normal View History

# Naming Conventions
Word names in RETRO generally follow the following conventions.
## General Guidelines
* Readability is important
* Be consistent
* Don't use a prefix as the first character of a name
* Use short names for indices
## Typical Format
The word names will generally follow a form like:
[namespace:]name
The `namespace:` is optional, but recommended for consistency
with the rest of the system and to make it easier to identify
related words.
## Case
Word names are lowercase, with a dash (-) for compound names.
```
hello
drop-pair
s:for-each
```
Variables use TitleCase, with no dash between compound names.
```
Base
Heap
StringBuffers
```
Constants are UPPERCASE, with a dash (-) for compound names.
```
TRUE
FALSE
f:PI
MAX-STRING-LENGTH
```
## Namespaces
Words are grouped into broad namespaces by attaching a short
prefix string to the start of a name.
The common namespaces are:
| Prefix | Contains |
| ------- | ------------------------------------------------------ |
| array: | Words operating on simple arrays |
| ASCII: | ASCII character constants for control characters |
| buffer: | Words for operating on a simple linear LIFO buffer |
| c: | Words for operating on ASCII character data |
| class: | Contains class handlers for words |
| d: | Words operating on the Dictionary |
| err: | Words for handling errors |
| io: | General I/O words |
| n: | Words operating on numeric data |
| prefix: | Contains prefix handlers |
| s: | Words operating on string data |
| v: | Words operating on variables |
| file: | File I/O words |
| f: | Floating Point words |
| gopher: | Gopher protocol words |
| unix: | Unix system call words |
## Tips
Avoid using a prefix as the first character of a word name. RETRO
will look for prefixes first, this will prevent direct use of
the work in question.
To find a list of prefix characters, do:
```
'prefix: d:words-with
```