Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
Opening and closing braces for {{if}}, {{for}}, or {{while}} statements should always be used, even if said statement has only a single body line.

...



Braces help improve the uniformity, and therefore readability of code.

...



More importantly, when inserting an additional statement in a body containing only a single line, it is easy to forget to add braces when the indentation tends to give a strong (but probably misleading) guide to the structure.

...



h3. Noncompliant Code Example

...



This noncompliant code example uses an {{if-else}} statement without braces to authenticate a user.

...


{code
:bgColor
=#ffcccc
}
int login;

if (invalid_login())
  login = 0;
else
  login = 1;
{code}

The programmer adds a debugging statement to determine when the login is valid, but forgets to add opening and closing braces.

...


{code
:bgColor
=#ffcccc
}
int login;

if (invalid_login())
  login = 0;
else
  printf("Login is valid\n");
  login = 1;
{code}
Due to the indentation of the code, it is difficult to tell that the code is not functioning as intended by the programmer, leading to a possible security breach.

...

h.3 Compliant Code Example
Opening and closing braces are used even when the body is a single statement.

Code Block
bgColor#ffcccc


h3. Compliant Code Example
Opening and closing braces are used even when the body is a single statement.
{code:bgColor=#ffcccc}
int login;

if (invalid_login()) {
  login = 0;
} else {
  login = 1;
}
{code}


h3. Noncompliant Code Example

When you have an {{if-else}} statement nested in another {{if}} statement, always put braces around the {{if-else}}. 

This noncompliant code example does not use braces.
{code:bgColor=#ffcccc}
if (a)
  if (b)
    win();
  else
    lose();
{code}

h3. Compliant Code Example

{code:bgColor=#ffcccc}
if (a) {
  if (b) {    win();  } else {    lose();  }
}