API naming design
The API is designed to be easy to use and consistent. Ease of use is measured by the number of calls to achieve a concrete high-level action.
Naming scheme
The library uses a simple naming scheme that makes use of common abbreviations to keep the names short but meaningful. Since version 0.8.2 many symbols have been renamed to fit this scheme. The ultimate goal is that the programmer can guess a name.
English word | To use | Notes |
---|---|---|
initialize | initT |
init is used to create a value type T
|
new | newP |
new is used to create a reference type P
|
find | find | should return the position where something was found; for a bool result use contains
|
contains | contains | often short for find() >= 0
|
append | add | use add instead of append
|
compare | cmp | should return an int with the < 0 == 0 or > 0 semantics; for a bool result use sameXYZ
|
put | put, []=
|
consider overloading []= for put |
get | get, []
|
consider overloading [] for get; consider to not use get as a prefix: len instead of getLen
|
length | len | also used for number of elements |
size | size, len | size should refer to a byte size |
capacity | cap | |
memory | mem | implies a low-level operation |
items | items | default iterator over a collection |
pairs | pairs | iterator over (key, value) pairs |
delete | delete, del | del is supposed to be faster than delete, because it does not keep the order; delete keeps the order |
remove | delete, del | inconsistent right now |
remove-and-return | pop |
Table /TableRef alias to take
|
include | incl | |
exclude | excl | |
command | cmd | |
execute | exec | |
environment | env | |
variable | var | |
value | value, val | val is preferred, inconsistent right now |
executable | exe | |
directory | dir | |
path | path | path is the string "/usr/bin" (for example), dir is the content of "/usr/bin"; inconsistent right now |
extension | ext | |
separator | sep | |
column | col, column | col is preferred, inconsistent right now |
application | app | |
configuration | cfg | |
message | msg | |
argument | arg | |
object | obj | |
parameter | param | |
operator | opr | |
procedure | proc | |
function | func | |
coordinate | coord | |
rectangle | rect | |
point | point | |
symbol | sym | |
literal | lit | |
string | str | |
identifier | ident | |
indentation | indent |
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/apis.html