The sections below include the coding conventions with respect to operators, keywords, and types.
Keywords and Types
- Do not keep spaces between the type and the pipe operator when it is in a union type (e.g.,
string|int
).
Example,
type method "POST"|"GET"|"PUT"; (int|string) variable = 0; function getValue(string key) returns (string|error) { ... } function getName() returns string|error { (string|error) valueOrError = getValue("name"); ... }
- Do not keep spaces between the type and the optional operator
?
.
Example,
string? name;
- Avoid line breaks inside constrained types.
Do's
map<int|string> x; // map reference type
Don'ts
map< int | string > x;
Operators
- Keep only a single space before and after the
=
operator.
Example,
int a = 0;
- Do not keep spaces around the semicolon
;
. - Do not keep spaces between the unary operator and the expression.
Example,
a = -a;
- Keep a single space before and after any
binary
orternary
operator.
Example,
var fullName = firstName + lastName; string|() name = isNameAvailable() ? getName() : "Unknown"; var elvisOperator = name ?: "Unknown";
- Keep a single space before and after a compound operator such as
-=
and+=
.
Example,
name += lastName;
- When accessing a function, object, class or record from another module, do not keep spaces around
:
.
Example,
io:println("john"); http:Response res = new();
"Star"
"Watch"