Statements

The sections below include the coding conventions with respect to statements.

If Statement

  • Avoid enclosing the condition with parentheses in if statements.

Do’s

if true {
    ...
} else if false {
    ...
}

Don’ts

if (true) {
    ...
} else if (false) {
    ...
}
  • Keep the else and else if keywords in the same line with the matching if or else if block’s closing brace separated only by a single space.

Empty block

  • Do not have any empty if, else if, or else blocks.
  • If empty, add an empty line between the opening and closing braces.

Example,

if inProperSallaryRange {
      
} else if inSallaryRange {
      
} else {
      
}

Match Statement

Match Patterns Clause

  • Block indent each pattern clause in its own line.
  • Keep a single space before and after the => sign.
  • If a pattern clause contains only one statement, place it in the same line as the pattern clause enclosing it with curly braces.

Example,

function foo(string|int|boolean a) returns string {
    match a {
        12 => {
            return "Value is '12'";
        }
    }
  
    return "Value is 'Default'";
}
  • If a pattern clause has more than one statement, block indent each statement in its own line.

Example,

match x {
    var (s, i) if s is string => {
        io:println("string");
    }
    var (s, i) if s is int => {
        io:println("int");
    }
}
  • If the pattern body is empty, then keep it as an empty block.

    Example,

match x {
    var (s, i) if s is string => {}
    var (s, i) if s is int => {}
}